和C++父类子类大同,但是又有区别,先上代码
class Animal():
def __init__(self, name , age):
self.name = name
self.age = age
def die(self):
self.age = 0
name = 'Dead'
这个是一个父类Animal,其中的__init__类似于C++的构造函数,name,age分别是传递的参数,而self可以理解为这个类本身,而self的name和age可以理解成成员变量
class Dog(Animal):
def __init__(self, age, name):
"""初始化父类属性"""
supper().__init__(age, name)
子类Dog在继承父类Animal时,需要在类的括号内注明父类,其中supper是一个特殊函数,可以让它调用父类的init
当然子类是可以拥有一些父类所没有的东西的
class Dog(Animal):
def __init__(self, age, name):
"""初始化父类属性"""
supper().__init__(age, name)
def laugh(self):
pass
特意添加上了狗特有的笑声
此外也可以重写父类的方法