zoukankan      html  css  js  c++  java
  • python 继承

     A和B类都需要调用相同的方法
    创建C类, 把相同的方法放到C类中
    A和B继承 A(C) B(C)
    A的对象和B的对象就可以直接调用C中的方法了


    A和B中有相同的方法,一部分功能相同,还有不同的一部分
    创建父类C,把相同的部分放到C类的方法中
    在A、B中保留不同的部分,
    然后分别在A、B中调用C类的方法即可

    class Animo:  # 父类
        def __init__(self,name,hp,ad):
            self.hp = hp
            self.ad = ad
            self.name = name
        def eat(self):
            self.hp += 10
            print('%s增加了10点血'%self.name)
    
    
    class Person(Animo):
        def __init__(self,name,sex,hp,ad,job):
            self.sex = sex
            self.job = job
            Animo.__init__(self,name,hp,ad)        ## 主动添加self
    
        def figth(self,dog):
            dog.hp -= self.ad
            print('%s打了%s一下,%s剩下了%s血' % (self.name,dog.name,dog.name,dog.hp))
    
    class Dog(Animo):
        def __init__(self,name,kind,hp,ad):
            Animo.__init__(self,name,hp,ad)     ## 主动添加self
            self.kind = kind
        def bite(self,persion):
            persion.hp -= self.ad
            print('%s咬了%s一下,%s剩下了%s血' % (self.name,persion.name,persion.name,persion.hp))
    
    dog1 = Dog('二哈','哈士奇',30000,5)
    alax = Person('alax','man',30000,300,'python')
    
    alax.figth(dog1)
    dog1.bite(alax)
    alax.eat()
    print(alax.hp)
     
  • 相关阅读:
    C# 中文件路径的操作
    字符串模式匹配KMP算法
    SLG游戏关卡设计
    android 源码包结构分析
    NIO的理解
    显示单位
    多线程时控制并发数据库操作的思路
    使用异常机制的建议
    合理的使用索引。《Map的使用》
    android源码的下载方法Windows
  • 原文地址:https://www.cnblogs.com/lxc123/p/12359040.html
Copyright © 2011-2022 走看看