python-学习笔记1-面向对象编程

1、面向对象最重要的概念就是类(Class)和实例(Instance),类是抽象的模板,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。

2、在类的内部定义访问数据的函数,就把数据封装了起来,这些和类的数据相关联的函数,叫做类的方法。

3、__开头的变量是私有变量,只有内部可以访问,若希望外部代码修改,可以在内部增加方法。

4、继承后,子类拥有了父类所有的功能(方法),继承的另一个好处是多态:对扩展开放——可以对父类添加子类,对修改封闭——不需要修改依赖父类的函数(开闭原则)

5、

对于静态语言(例如Java)来说,如果需要传入Animal类型,则传入的对象必须是Animal类型或者它的子类,否则,将无法调用run()方法。

对于Python这样的动态语言来说,则不一定需要传入Animal类型。我们只需要保证传入的对象有一个run()方法就可以了

动态语言的鸭子类型特点决定了继承不像静态语言那样是必须的。

6、数据封装、继承和多态是面向对象程序设计中最基础的3个概念。

7、使用__slots__要注意,__slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的。

原文地址:https://www.cnblogs.com/zczhangcui/p/6095294.html