1、什么是面向对象:模拟真实世界的过程,把数据和代码封装在一起。
什么是封装:把数据放入列表,定义一个函数都称为封装。
对象:属性+方法,动态特性称为方法,静态特性称为属性。
OO:object oriented面向对象,特性:封装、继承、多态。(不同对象对同一消息进行的响应)
OOP:面向对象编程
2、self(相当于C++中的this指针)
相当于指定类当中的全局变量。
self,说明该类是哪个对象在调用,然后传入该对象的属性。
3、python魔法方法:
被双下划线包围,只有在某种情况下才会调用。
__init__(self,param1,param2,param3)构造方法,相当于C++中的构造函数,当实例化一个对象时,该方法在创建对象时一定会被调用。
可以重写__init__()自定义对象的初始化操作。
共有的、私有的:
C++中有关键字,定义私有的和共有的;public和private
python中默认属性和方法都是共有的,python中给变量名前加双下划线,证明该变量是私有的,需要访问,则需要Name mangling技术。
class Person():
__name = 'name' # 私有的不能直接访问
def Name(self):
return self.__name