python学习day24 继承 派生

class A(object):pass   # 父类,基类,超类 object是类祖宗,一般默认不写
class B:pass   # 父类,基类,超类
class A_son(A,B):pass # 子类,派生类
class AB_son(A):pass # 子类,派生类
# 一个类 可以被多个类继承
# 一个类 可以继承多个父类  —— python里
print(AB_son.__bases__) # 查看父类
print(A.__bases__)  # (<class 'object'>) 类祖宗

 如果没有__init__,就执行父类__init__

父类没有的方法,子类有的:派生属性

父类没有的方法,子类有的:派生方法

class Animal:
    def __init__(self,name,aggr,hp):
        self.name = name
        self.aggr = aggr
        self.hp = hp

    def eat(self):
        print('吃药回血')
        self.hp+=100
#
class Dog(Animal):
    def __init__(self,name,aggr,hp,kind):
        Animal.__init__(self,name,aggr,hp)  #
        self.kind = kind       # 派生属性
    def eat(self):
        Animal.eat(self)   # 如果既想实现新的功能也想使用父类原本的功能,还需要在子类中再调用父类
        self.teeth = 2
    def bite(self,person):   # 派生方法
        person.hp -= self.aggr

jin = Dog('金老板',100,500,'吉娃娃')
jin.eat()  # 调用子类,如果子类中没有,调用父类的方法
print(jin.hp)

猜你喜欢

转载自www.cnblogs.com/happyfan/p/9971385.html
今日推荐