python进阶 第五章 类的继承

时间:2021-03-01 20:32:45

第五章 类的继承

5.1 python中什么是继承
如果要编写一个新类 student
需要的属性有:name,gender,school,score

能否利用person类已有的属性和方法?
class Person(object):
def init(self,name,gender):
self.name=name
self.gender=gender

class Student(Person):
def init(self,name,gender):
super(Student,self).init(name,gender)
self.school=school
self.score=score
什么是继承
新类不必从头编写
新类从现有的类继承,就自动拥有了现有类的所有功能
新类只需要编写现有类缺少的新功能

继承的好处
复用已有代码
自动拥有了现有类的所有功能
只需要编写缺少的新功能

父类和子类

父类,超类,基类
子类,派生类,继承类

继承树

继承的特点
子类和父类是is关系:

错误的继承
student类和book类是has关系:

has关系应该使用组合而非继承

student类和book类是has关系

class Student(Person):
def init(self,bookName):
self.book = Book(bookName)

python的继承:
总是从某个类继承
class MyClass(object):
pass
不要忘记调用super().init
def init(self,args):
super(SubClass,self).init(args)
pass