• 面向对象-继承与重用


    继承:类与类之间的关系,是一种什么“是”什么的关系。解决代码重用问题,继承是创建新类的方式。

    py中新建类可以继承一个或多个类。

    切记,self表示对象本身

    #创建一个父类1
    class ParentClass1:
        pass
    #创建一个父类2
    class ParentClass2:
        pass
    #创建一个子类继承父类1
    class SubClass1(ParentClass1):
        pass
    #创建一个子类继承父类1和父类2
    class SubClass2(ParentClass1,ParentClass2):
        pass

    被继承类可称为父类、超类或基类,新建类可以称为子类或派生类

    继承查看

    print(SubClass1.__bases__)
    print(SubClass2.__bases__)

    继承

    #创建一个父类
    class Hero:
        def __init__(self,nickname,life_value,aggresivity):
            self.nickname=nickname
            self.life_value=life_value
            self.aggersivity=aggresivity
        def attack(selfs,enemy):
            enemy.life_value -= selfs.aggersivity
    #创建新的子类,继承于父类Hero
    class Garen(Hero):
        # camp='Demacia'
        pass
    #创建新的子类,继承于父类Hero
    class Riven(Hero):
        # camp='Noxus'
        pass

    派生

    子类可以拥有自己独特的属性

    #创建一个父类
    class Hero:
        def __init__(self,nickname,life_value,aggresivity):
            self.nickname=nickname
            self.life_value=life_value
            self.aggersivity=aggresivity
        def attack(selfs,enemy):
            enemy.life_value -= selfs.aggersivity
    #创建新的子类,继承于父类Hero
    class Garen(Hero):
        #派生出新的属性
        camp='Demacia'
    
    #创建新的子类,继承于父类Hero
    class Riven(Hero):
        # 派生出新的属性
        camp='Noxus'
    #实例化对象
    g=Garen('草丛伦',100,30)
    r=Riven("锐雯雯",90,40)
    print(g.camp)
    g.attack(r)
    print(r.life_value)

  • 相关阅读:
    高级软件工程2017第2次作业—— 个人项目:四则运算题目生成程序(基于控制台)
    高级软件工程2017第1次作业
    2017高级软件工程 课程信息
    15061009-第0次作业(阅读与感想)
    新的開始!第一次作業
    软工实践第一次作业
    OO第四单元作业总结
    OO第二单元作业总结
    OO第一单元作业总结
    Dell BOSS 卡是什么
  • 原文地址:https://www.cnblogs.com/yaya625202/p/8863625.html
Copyright © 2020-2023  润新知