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

    # 面向对象编程
    # 思想:角色抽象、创建类、实例化、操作实例
    # 面对对象关键字
    # class 类名:
    # 静态属性='aaa'
    # def __init__(self):
    # pass
    # 类名。静态属性——存储在类的命名空间里
    # 对象=类名()——实例化
    # 对象.属性
    # 对象.方法=类名.方法(对象)
    # 对象可以使用静态变量
    # 类不可以使用对象里的属性
    # 组合
    # 一个类的对象是另一个类对象的属性
    
    # class A:
    #     def __init__(self):
    #         self.name = 'egon'
    #
    #
    # class B:
    #     def __init__(self, year, month, day):
    #         self.year = year
    #         self.month = month
    #         self.day = day
    #
    #
    # b = B(18, 7, 1)
    # a = A()
    # a.birth = b
    # print(a.birth.year)  # 这就是组合
    
    # 类的继承
    
    # class A(object):  # 父类,基类,超类
    #     pass
    #
    #
    # class B:  # 父类,基类,超类
    #     pass
    #
    #
    # class A_son(A):  # 子类、派生类
    #     pass
    #
    #
    # class AB_son(A, B):  # 子类、派生类
    #     pass
    #
    #
    # # 一个类可以被多个类继承
    # # 一个类可以继承多个父类
    # print(A_son.__bases__)  # 此方法可以查看父类
    # print(A_son.__bases__)
    # print(A.__bases__)  # python3-新式类——没有继承默认继承object
    
    # class Animal:
    #     def __init__(self, name, aggr, hp):
    #         self.name = name
    #         self.aggr = aggr
    #         self.hp = hp
    #         self.func()
    # 
    #     def func(self):
    #         print('123')
    # 
    # 
    # class Dog(Animal):
    #     def func(self):
    #         print(456)
    # 
    #     def bite(self, person):
    #         person.hp -= self.aggr
    # 
    # 
    # class Person(Animal):
    #     pass
    # 
    # 
    # jin = Dog('金老板', 200, 500)
    # print(jin.name)
    # 
    # 
    # 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)
    # 
    # 
    # class Person(Animal):
    #     def __init__(self, name, aggr, hp, sex):
    #         Animal.__init__(self, name, aggr, hp)
    #         self.sex = sex  # 派生属性
    #         self.money = 0  # 派生属性
    # 
    #     def attack(self, dog):
    #         dog.hp -= self.aggr
    # 
    # 
    # alex = Person('alex', 1, 2, None)
    # alex.eat()
    # print(alex.hp)
    
    # 继承顺序
    # python3:广度优先
    # python2:深度优先
    # super的本质是依据调用者节点位置的广度优先顺序来的
  • 相关阅读:
    window常见事件onload
    BOM顶级对象window
    模拟京东快递单号查询案例
    [Hibernate] one-to-one
    Katy Perry
    [Java] int 转换为BigDecimal
    [easyUI] datagrid 数据格 可以进行分页
    [easyUI] 树形菜单 tree
    [easyUI] lazyload 懒加载
    [easyUI] autocomplete 简单自动完成以及ajax从服务器端完成
  • 原文地址:https://www.cnblogs.com/wujunjie-sir/p/9249552.html
Copyright © 2011-2022 走看看