天天看點

建立一個學校成員類,登記并統計總人數。教師類和學生類繼承學校成員類,登記教師所帶班級(工資)與所帶學生成績,每建立一個對象學校人數加一,删除一個對象則減一。

各位在寫代碼時候需要注意每一行的縮進,縮進不對,會無法運作出結果

class SchoolMember:
    sum_member = 0

    def __init__(self, name):
        self.name = name
        SchoolMember.sum_member += 1
        print("學校新加入一個成員:%s" % self.name)
        print("現在有成員%d人" % SchoolMember.sum_member)

    def say_hello(self):
        print("大家好,我叫:%s" % self.name)

    def __del__(self):
        SchoolMember.sum_member -= 1
        print("%s離開了,學校還有%d人" % (self.name, SchoolMember.sum_member))


class Teacher(SchoolMember):
    def __init__(self, name, CLASS):  #這CLASS可以改成工資salary
            SchoolMember.__init__(self, name)
        self.CLASS = CLASS

    def say_hello(self):
        SchoolMember.say_hello(self)
        print("我是老師,我帶的班級是:%d" % self.CLASS)

    def __del__(self):
        SchoolMember.__del__(self)
class Student(SchoolMember):
    def __init__(self, name, mark):
        SchoolMember.__init__(self, name)
        self.mark = mark
    def say_hello(self):
        SchoolMember.say_hello(self)
        print("我是學生,我的成績是: %d" % self.mark)

    def __del__(self):
        SchoolMember.__del__(self)


t = Teacher("張三", 7)
t.say_hello()
s = Student("李四", 99)
s.say_hello()

           

運作結果如下:

建立一個學校成員類,登記并統計總人數。教師類和學生類繼承學校成員類,登記教師所帶班級(工資)與所帶學生成績,每建立一個對象學校人數加一,删除一個對象則減一。