继承与类的内容回顾

荒凉一梦 提交于 2019-12-06 13:45:51
昨日内容回顾
 定义类 class Dog :
 静态属性:表面拥有的特点 4
 动态属性:bite eat run 拥有self 参数
 实例属性: 实例方法中定义的属性
 实例化: 类名()---->对象 ,过程
 实例:类名() 对象/实例
 self: 调用方法或者属性本身 的那个对象
 __init__ 构造方法 : 创建对象的时候自动去调用的方法
类名:
 查看静态属性,改变静态属性(常用)
 查看动态属性,得到的是内存地址
 调用动态属性,传self 参数,但是一般不用
对象:
 查看静态属性(但是不常用)
 查看动态属性,得到的是内存地址
 调用动态属性,不需要传self 参数
类中的命名空间
 类命名空间
 实例命名空间
实例化发生了什么?
  开辟了一个新的实例命名空间
  把实例的内存地址传给了self
  self空间中可以定义实例属性
  把属性返回给实例,然后就能用这些属性了
组合: peo.wap=打狗棒
 一个类对象作为另一个类对象的属性
 
# 继承
   单继承 继承一个父类
   多继承 继承两个以上父类
   继承顺序 按继承父类的先后顺序,各父类用 , (逗号)隔开
   子类重写父类的__init__方法
       父类.__init__(self,父类中的属性)
       super().__init__(父类中的属性)
父类中方法直接可以在子类中重写
    调用是先在子类自己所在的类中找,没有再去父类中找
    想要调用父类中方法用super super().eat()
所有的类都继承自object类
【super作用】
  如果子类(Apple)继承父类(Fruit)不做初始化,那么会自动继承父类(Person)属性name。
    如果子类((Apple)继承父类(Fruit)做了初始化,且不调用super初始化父类构造函数,那么子类(Apple)不会自动继承父类的属性(name)。
    如果子类(Apple)继承父类(Fruit)做了初始化,且调用了super初始化了父类的构造函数,那么子类(Apple))也会继承父类的(name)属性。
 

 
MRO顺序
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!