标签:扩展 self isp view 重写 派生 src span nim
继承:实现代码的重用,相同的代码不需要重复的编写。
1.继承的语法
‘‘‘ 专业术语: Dog类是Animal类的子类,Animal类是Dog类的父类,Dog类从Animal类继承 Dog类是Animal类的派生类,Animal类是Dog类的基类,Dog类从Animal类派生 ‘‘‘ class Animal: def eat(self): print("吃") def drink(self): print("喝") def run(self): print("跑") def sleep(self): print("睡") class Dog(Animal): def bark(self): print("汪汪汪") class Xiaotianquan(Dog): ###继承的传递性 def fly(self): print("神仙") wangcai = Xiaotianquan() wangcai.eat() wangcai.run() wangcai.drink() wangcai.sleep() wangcai.bark() wangcai.fly()
2.继承中方法的重写
‘‘‘ 专业术语: Dog类是Animal类的子类,Animal类是Dog类的父类,Dog类从Animal类继承 Dog类是Animal类的派生类,Animal类是Dog类的基类,Dog类从Animal类派生 ‘‘‘ class Animal: def eat(self): print("吃") def drink(self): print("喝") def run(self): print("跑") def sleep(self): print("睡") class Dog(Animal): def bark(self): print("汪汪汪") class XiaoTianQuan(Dog): ###继承的传递性 def fly(self): print("神仙") def run(self): print("跑着跑着就飞了") ###方法的重写 doudou = XiaoTianQuan() doudou.eat() doudou.run() doudou.drink() doudou.sleep() doudou.bark() doudou.fly()
3.扩展父类的方法
‘‘‘ 专业术语: Dog类是Animal类的子类,Animal类是Dog类的父类,Dog类从Animal类继承 Dog类是Animal类的派生类,Animal类是Dog类的基类,Dog类从Animal类派生 ‘‘‘ class Animal: def eat(self): print("吃") def drink(self): print("喝") def run(self): print("跑") def sleep(self): print("睡") class Dog(Animal): def bark(self): print("汪汪汪") class XiaoTianQuan(Dog): ###继承的传递性 def fly(self): print("神仙") def run(self): print("跑着跑着就飞了") ###方法的重写 def bark(self): print("--------------------------") super().bark() ###使用super()调用父类中方法,从而实现扩展父类 #Dog.bark(self) ###使用父类名.方法(self) 调用父类中的方法(不推荐使用) print("##########################") doudou = XiaoTianQuan() doudou.eat() doudou.run() doudou.drink() doudou.sleep() doudou.bark() doudou.fly()
4.多继承
注意事项:如果父类之间存在同名的属性或方法,应该尽量避免使用多继承
class Aaa: def test1(self): print("我是爸爸1") class Bbb: def test2(self): print("我是爸爸2") class Ccc(Aaa,Bbb): #多继承可以让子类对象,同时具有多个父类的属性和方法 pass #创建子类对象 c = Ccc() c.test1() c.test2()
标签:扩展 self isp view 重写 派生 src span nim
原文地址:https://www.cnblogs.com/west-yang/p/9899086.html