zoukankan      html  css  js  c++  java
  • 10-29 继承-单继承

    继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,
    父类又可称为基类或超类,新建的类称为派生类或子类
    一个类可以被多个类继承
    一个类可以继承多个父类---仅限于python中
    注:在Python 3中,所有的类都有父类,若是没有继承父类,默认都是继承object
    class A:#父类、基类、超类(必须放在子类之前)
        pass
    class A(object):#父类、基类、超类(必须放在子类之前)
        pass
    class B:
        pass
    class A_son(A,B):#子类、派生类
        pass
    class AB_son(A):
        pass
    
    print(A_son.__bases__)  #结果:(<class '__main__.A'>, <class '__main__.B'>)
    print(AB_son.__bases__) #结果:(<class '__main__.A'>,)
    print(A.__bases__)      #结果:(<class 'object'>,)
    

      

    super---既可以在累的内部使用,也可以在类的外部使用
    在类的内部使用时,需要传默认的使用参数;
    在类的外部使用时,必要传类名和对象名
    class Animal:
        def __init__(self,name,hp,aggr):       #self就是一个可以存储很多属性的大字典,不过是往字典里面添加属性的方法发生了变化
            self.name = name
            self.hp = hp
            self.aggr = aggr
        def eat(self):
            print("打药回血!")
    class Dog(Animal):
        def __init__(self,name,hp,aggr,kind):
            super().__init__(name,hp,aggr)  #只在新式类中有,Python3 中所有的类都是新式类
            self.kind = kind
        def eat(self):
            print('dog eating!')
    class Person(Animal):
        pass
    alex = Dog('alex',200,500,'泰迪')
    print(alex.kind)    #结果:泰迪
    alex.eat()          #结果:dog eating!
    super(Dog,alex).eat()   #结果:打药回血!
    

      

     
  • 相关阅读:
    Java通过 Scanner 类来获取用户的输入
    Java中的Calendar 类和SimpleDateFormat 类
    JAVA中字符串常见操作
    JAVA中数组Arrays类的常见用法
    Java中的compareTo()方法,compareToIgnoreCase()方法
    python常见字符串操作
    linux常见配置文件路径
    python的匿名函数
    python列表解析式,字典解析式,集合解析式和生成器
    Django admin
  • 原文地址:https://www.cnblogs.com/Cheryol/p/9870492.html
Copyright © 2011-2022 走看看