创建一个学校成员类,登记并统计总人数。教师类和学生类继承学校成员类,登记教师所带班级(工资)与所带学生成绩,每创建一个对象学校人数加一,删除一个对象则减一。

各位在写代码时候需要注意每一行的缩进,缩进不对,会无法运行出结果

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()

运行结果如下:
创建一个学校成员类,登记并统计总人数。教师类和学生类继承学校成员类,登记教师所带班级(工资)与所带学生成绩,每创建一个对象学校人数加一,删除一个对象则减一。_第1张图片

你可能感兴趣的:(个人)