封装,继承,多态是面向对象的三大特性;
封装是定义类的准则,继承是设计类的技巧,多态是使用类的技巧。对象是由类创建的。
完成某个工作,需要资源(数据,变量:属性)和功能(函数:方法)共同运作实现。所以一个完整的类里面需要包含这些:变量放在__init__里面,功能实现是通过各个def。
封装:相关功能的函数和变量放在一个类里面,方便操作。封装的另外一个好处就是,为每个使用者(对象)提供了调用方法的引用和独立的变量,相互之间不影响,没有共享全局变量一旦某个函数对全局变量修改影响其它函数的弊端。
继承:提高代码的重用率,不需要重写,只需要在原来的基础上进行修改,比如增加某个功能,修改某个功能。其它都用继承来实现。另外修改某个类,往往不会对它的子类产生影响,便于对代码的管理。没有的方法,子类可以直接调用父类的方法。已有的(重写父类的方法),只会执行自己的,不会执行父类的,除非强制调用(注意:子类有__init__,就不会执行父类的__init__,所以在调用父类方法时,要先调用父类__init__方法,否则使用自己的__init__里面缺少属性并不能使父类方法正常运行)。
多态:建立在子类继承父类并重写父类的基础上。重写,会执行出不同效果。另外,重写说明了名字一致。传递不同的对象参数就能调用对应的对象方法。要创建的对象:父子类里面的子类,和另外单独的那个。子类和父类重复的方法就是重写的方法,也是多态使用的技巧针对的方法,要写在单独的那个里面。