懒人促进社会进步,这话说得一点都对,本以为利用类已经够简单了,竟然还有比它更方便的——类的继承
什么是继承
继承是类与类的一种关系,是一种子类与父类的关系,即爸爸与儿子,爸爸生个儿子,儿子继承爸爸的属性和方法。
什么时候使用继承
假如我需要定义几个类,而类与类之间有一些公共的属性和方法,这时我就可以把相同的属性和方法作为基类的成员,而特殊的方法及属性则在本类中定义。这样子类只需要继承基类(父类),子类就可以访问到基类(父类)的属性和方法了,它提高了代码的可扩展性和重用行。
比如:猫狗都是动物,会叫,会吃饭饭,会拉臭臭,这就是他们的共同项,就可以作为基类
class Animal(object):
def __init__(self,name,age):
self.name = name
self.age = age
def call(self):
print(self.name,self.age,"会叫")
class cat(Animal):
def __init__(self,name,age,sex):
super(cat,self).__init__(name, age)
self.sex = sex
def call(self):
print(self.name,self.age,"会喵喵叫",self.sex)
class dog(Animal):
def __init__(self,name,age):
super(dog, self).__init__(name,age)
if __name__ == '__main__':
c = cat('猫', '1岁', '公')
d = dog('狗','1岁')
d.call()
c.call()
这里cat加了一个属性但那些相同的属性可以调用基类,通俗来讲,就是cat是子类,而这个提供相同属性调用的类是父类,父类中没有的可以在子类中定义
若属性与父类相同便可不再定义,直接调用父类,例如代码中的dog
注:子类如果想调用父类必须与父类属性相同的调用,添加新的属性需要在子类中重新定义