重写父类方法
所谓重写,就是子类中,有一个和父类相同的方法,在子类中的方法会覆盖父类中同名的方法,伪代码如下
class 父类:
def 抽烟(self):
print('抽芙蓉黄')
def 喝酒(self):
print('喝二锅头')
class 子类(父类):
#与父类的(抽烟)同名方法,这就重写父类方法
def 抽烟(self):
print('抽中华') #儿子比他爹有出息,抽好烟
#重写父类方法后,子类调用父类的方法时将调用的是子类的方法。
son = 子类()
son.抽烟()
结果
调用父类方法
class Dog:
def __init__(self,name,color):
self.name = name
self.color = color
class kejiquan(Dog):
def __init__(self,name,color): #属于重写父类的方法
#针对这种需求 我们就需要去调用父类的函数了
Dog.__init__(self,name,color) #调用父类的方法了,执行完毕就可以具备name,color这两个实例属性了
# super().__init__(name,color)#super是自动找到父类,进而调用方法;假设继承了多个父类,那么会按照顺序逐个去找,然后再调用
#拓展其他属性
self.height = 90
self.weight = 20
pass
def __str__(self):
return '{}的颜色是{},它的身高是{}cm,体重是{}kg'.format(self.name,self.color,self.height,self.weight)
def bark(self): #属于重写类的方法
super().bark()#调用父类的方法
print('叫的跟神一样')
print(self.name)
pass
kj = kejiquan('柯基','红色')
# kj.bark()
print(kj)