• 单继承


      1 '''
      2 继承解释:
      3 面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法
      4 之一是通过继承机制。
      5 通过继承创建的新类称为子类或派生类,被继承的类称为基类、父类或超类。
      6 作用:为了简化代码量,更好的维护。
      7 
      8 
      9 特点:
     10 子类可以继承父类的所有属性及方法(私有属性/方法除外)
     11 子类是可以直接使用父类的公有方法的。
     12 子类是可以有自己独有的方法/属性。
     13 
     14 注意:
     15 __init__:当子类没有显式的init方法时,会调用父类的init方法。
     16         当子类有显式的init方法时,会调用子类本身的init方法。
     17         当子类有显式的init方法时,可能会导致父类中init方法中的内
     18         容无效,在子类的init方法中调用父类的init函数,将父类中的
     19         init函数中的内容继承下来,格式:
     20         父类名称.__init__(self, 参数1,参数2...(参数个数与形参个数一致))
     21 
     22 函数/方法重写:在子类中有与父类同名的函数,并在子类中实现了该方法,
     23 叫做方法的重写。
     24 
     25 就近原则:当对象调用属性或方法时,先去自己本类=中查找,找到则
     26 使用自己本类中的内容,本类中没有,再去父类中查找,一层一层向上查找,
     27 如果本类及所有父类中都没有,则返回错误。
     28 
     29 一个父类可以拥有多个子类。
     30 
     31 '''
     32 '''
     33 语法格式:
     34 class 类名(父类):
     35     属性
     36     方法
     37 '''
     38 # Cat  color age  miao  eat()   zhuolaoshu()
     39 # Dog  color age  wang  eat()   kanjia()
     40 # Animal  color age eat()
     41 
     42 '_Cat__an'
     43 
     44 # 父类
     45 class Animal():
     46     def __init__(self, color, age):
     47         self.color = color
     48         self.age = age
     49         self.__an = "1000"
     50     def eat(self):
     51         # print(self.__an)
     52         print("吃饭")
     53     def __body(self):
     54         print("身体")
     55 
     56 class Cat(Animal):
     57     def __init__(self, color, age, miao):
     58         # self.color = color
     59         # self.age = age
     60         # 调用父类的init方法:
     61         # 语法格式: 父类名称.__init__(self, 参数1,参数2...(参
     62         # 数个数与形参个数一致))
     63         # 类似将父类的init方法中的所有内容复制并执行
     64         Animal.__init__(self, color, age)
     65         # 子类独有的属性
     66         self.miao = miao
     67 
     68     def eat(self):
     69         # print("吃饭")
     70         # 在子类中执行父类的方法
     71         # 语法格式: 父类名称.函数名(self, 参数1,参数2...(参
     72         # 数个数与形参个数一致))
     73         Animal.eat(self)
     74 
     75         print(self.miao + "吃饭")
     76 
     77     # 子类独有的方法
     78     def zhuolaoshu(self):
     79         # print(self.color)
     80         print("猫捉老鼠")
     81 
     82 cat1 = Cat("白色", 10, "喵喵")
     83 # print(cat1.color)
     84 # print(cat1.age)
     85 # print(cat1.miao)
     86 cat1.eat()
     87 # cat1.zhuolaoshu()
     88 
     89 
     90 class Dog(Animal):
     91     def __init__(self, color, age, wang):
     92         # self.color = color
     93         # self.age = age
     94         Animal.__init__(self, color, age)
     95         self.wang = wang
     96     def eat(self):
     97         Animal.eat(self)
     98         print(self.wang + "吃饭")
     99     def kanjia(self):
    100         print("狗狗看家")
    101 dog1 = Dog("aaa", 12, "wwww")
    102 print(dog1.color, dog1.age, dog1.wang)
    103 dog1.eat()
    104 dog1.kanjia()
    105 # cat1 = Cat("白色", 12, "喵喵")
    106 # dog1 = Dog("黑色", 8, "汪汪")
    107 # cat1.eat()
    108 # cat1.zhuolaoshu()
    109 # dog1.eat()
    110 # dog1.kanjia()
    111 
    112 
    113 """
    114 object:所有类的父类:如果没有object,那么可能所有的类都不
    115 存在。我们所创建的所有的类,默认都继承于object。如果我们创
    116 建的class,就是继承于object,那么object写或不写没有区别。
    117 """
    118 
    119 # class Person:
    120 #     pass
    121 # class Person():
    122 #     pass
    123 
    124 class Person(object):
    125     pass
  • 相关阅读:
    spark,hadoop集群安装注意
    TFRecord 使用
    python 路径引用问题
    flask使用模板
    tensorflow serving 模型部署
    docker使(二)—发布node应用镜像和容器
    docker使用(一)
    tensorBoard使用
    【疑难杂症】访问所有mapper方法都提醒invalid bound statement (not found)
    win10配置jdk12环境变量
  • 原文地址:https://www.cnblogs.com/BKY88888888/p/11278685.html
Copyright © 2020-2023  润新知