5.4 类的继承
5.4.1 教学目标
面向对象的一个很大的特点是类可以被扩展和继承,例如要编写学生类 Student 包含
name、gender、age 和专业 major、系别 dept 等属性,就没有必要从头开始,只要从 Person
类派生出 Student,在派生的过程中增加 major、dept 属性即可。教学目标是掌握派生与继承
的方法,从 Person 类派生出 Student 类。
5.4.2 派生与继承
1、派生与继承
定义一个学生类 Student,包含姓名 name,性别 gender,年龄 age,还包含所学专业 major,
所在系别 dept,那么就不必要重新定义 Student 类,只要从已经定义的 Person 类派生与继承
过来就是了。
例 5-4-1:派生于继承
class Person:
def __init__(self,name,gender,age):
self.name=name
self.gender=gender
self.age=age
def show(self,end='\n'):
print(self.name,self.gender,self.age,end=end)
class Student(Person):
def __init__(self,name,gender,age,major,dept):
Person.__init__(self,name,gender,age)
self.major=major
self.dept=dept
def show(self):
Person.show(self,' ')
print(self.major,self.dept)
s=Student("james","male",20,"software","computer")
s.show()
结果:
james male 20 software computer
我们首先定义一个 Person 类包含有 name,gender,age 属性,派生出 Student 类(或者称
Student 从 Person 继 承 ), 增 加 major 与 dept 属 性 , 这 样 Student 就具有
name,gender,age,major,dept 全部属性了。Person 称为 Student 的基类,Student 称为 Person
的派生类,Person 派生出 Student,Student 继承自 Person。
评论0
最新资源