Мне так трудно создавать код Python для Class-Inheritance.Родительский класс - «Персональный класс», а подклассы - «Студенческий класс» и «Профессорский класс».
Я провел много времени, но это слишком сложно понять.Я сделал 1 родительский класс, 2 подкласса и методы.Я думаю, что большая часть моего кода должна быть изменена, и я не знаю, как это исправить.
class Person:
def __init__(self,name,age,department):
self.name = name
self.age = age
self.department = department
def get_name():
return self.name
class Student(Person):
def __init__(Person,i_d,GPA,advisor):
self.Person = Person
self.i_d = i_d
self.GPA = GPA
self.advisor = advisor
def print_info():
print("Name: %s, Age: %d, Department: %s, Advisor: %s " %(Person.name,Person.age,Person.department,Student.advisor))
def reg_advisor():
return Professor.name
class Professor(Person):
def __init__(self,position,laboratory,student):
self.position = position
self.laboratory = laboratory
self.student = student
def print_info():
print("Name: %s, Age: %d, Department: %s, Student: %s and %s " %(Person.name,Person.age,Person.department,Professor.student))
def reg_student():
return Student.name
Stu1 = Student("David", 30, "Computer", 20001234, 4.5)
Stu2 = Student("Tom", 30, "Computer", 20001234, 4.5)
prof1 = Professor("Andrew", 55, "Computer", "Full", "DT") # The last element is the list of student.
stu1.reg_advisor(prof1)
stu2.reg_advisor(prof1)
prof1.reg_student(stu1)
prof1.reg_student(stu2)
stu1.print_info()
stu2.print_info()
prof1.print_info()
Результат должен быть:
# Name: David, Age: 30, Department: Computer, Advisor: Andrew)
# Name: Tom, Age: 30, Department: Computer, Advisor: Andrew)
# Name: Andrew, Age: 55, Department: Computer, Students: David and Tom)
Я бы предпочел, чтобы недобавлять или удалять методы.
Любая помощь будет принята с благодарностью.