1、属性:

      1.公有属性:

                类属性:类的通用属性,可以用类调用,也可以用对象调用,通常用类来调用

                实例属性:只属于对象

                局部变量

       2.私有属性:

 2、方法:

       1.普通方法

       2.特性方法:没有参数,调用时也不能带()和传参数,用@property修饰

       3.静态方法:属于类,没有self参数,可以使用类名来调用,也可以使用对象类调用,通常用类来调用,用@staticmethod修饰。业务场景:有一个方法在很多地方都需要调用,可以定义为静态方法

  4.类方法:属于类,直接使用类来调用,用@classmethod修饰,参数为cls

3、对象调用方法时执行顺序:

  1.对象实例化

  2.构造函数

  3.对象调用的方法,代码跳转到具体的方法,执行方法的代码块

  4.析构函数

4、继承:重复已经存在的数据和行为,减少代码的重复编写

  子类继承父类所有的属性和方法,其中类属性是必须继承的,实例属性可以不继承

  方法的继承:当子类重写了父类的方法后,对子类进行实例化后,子类调用的方法(父类、子类都存在),执行的是子类自己的方法

  单个类继承原则:

    1)从上到下:子类继承了父类,但子类没有重写父类的方法,那么子类实例化后,调用的是父类当中的方法

    2)从下到上:子类继承了父类,但子类重写了父类的方法,那么子类实例化后,调用的是子类当中的方法

  多个类继承原则:从左到右,且多个父类必须在同一层级。继承的第一个类中找到了方法,则执行,没找到从第二个类中找

 

  1.子类为什么要重写父类的方法:子类有自己的属性