定义一个教师类和一个学生类二者有一部分数据成员是相同的例如 numnamesex。请编程将一个学生类对象转换为教师类只将以上 3 个相同的数据成员移植过去。可以设想为:一位学生大学毕业了留校担任教师他原有的部分数据对现在的教师身份来说仍然是有用的应当保留并成为其教师的数据的一部分。
class Person:
def __init__(self, num, name, sex):
self.num = num
self.name = name
self.sex = sex
class Student(Person):
def __init__(self, num, name, sex, grade):
super().__init__(num, name, sex)
self.grade = grade
class Teacher(Person):
def __init__(self, num, name, sex, title):
super().__init__(num, name, sex)
self.title = title
def convert_student_to_teacher(student):
return Teacher(student.num, student.name, student.sex, "助教")
# 测试代码
s = Student("001", "小明", "男", "大一")
t = convert_student_to_teacher(s)
print(t.num, t.name, t.sex, t.title) # 001 小明 男 助教
``
原文地址: https://www.cveoy.top/t/topic/epx5 著作权归作者所有。请勿转载和采集!