33333333
1111吧
全部回复
仅看楼主
level 1
class SchoolMember:def_init_(self.name,age.role): self.name = name self.age = age self.role=roleprint('初始化学校成员:',self.name) def tell(self):print('姓名:%s; 年龄:%s; 角色:%s' % (self.name, self.age.self.role) )class Teacher(SchoolMember):def_init_(self,name.age.role.salary):SchoolMember, init_(self,name,age,role) self.salary = salaryprint('老师姓名:', self.name) def tell(self):SchoolMember.tell(self) print('工资:', self.salary ) class Student(SchoolMember):def_init_(self.name,age,role,marks):SchoolMember, init_(self,name,age,role) self.marks = marksprint('学生姓名:', self.name) def tell(self):SchoolMember.tell(self)print('学生分数:',self.marks)t = Teacher('约翰逊',45,'老师',3400) s = Student('乔治',12,'学生',86) members = [lbk]t.s[rbk]for member in members: member.tell()
2025年10月17日 06点10分 1
level 1
class SchoolMember:
# 修正:构造方法名改为__init__,规范缩进
def __init__(self, name, age, role):
网页链接 = name
网页链接 = age
网页链接 = role
print('初始化学校成员:', self.name)
def tell(self):
# 修正:格式化字符串语法,补充完整输出
print(f'姓名:{self.name} 年龄:{self.age} 角色:{self.role}')
class Teacher(SchoolMember):
def __init__(self, name, age, role, salary):
# 修正:正确调用父类构造方法
super().__init__(name, age, role)
网页链接 = salary
print('老师姓名:', self.name)
def tell(self):
# 先调用父类tell方法,再补充子类信息
super().tell()
print(f'工资:{self.salary}')
class Student(SchoolMember):
def __init__(self, name, age, role, marks):
super().__init__(name, age, role)
网页链接 = marks
print('学生姓名:', self.name)
def tell(self):
super().tell()
print(f'学生分数:{self.marks}')
# 创建对象
t = Teacher('约翰逊', 45, '老师', 3400)
s = Student('乔治', 12, '学生', 86)
# 修正:列表使用
正确的
对象名
members = [t, s]
for member in members:
member.tell()
2025年10月17日 06点10分 2
1