标签:构造 特殊方法 sort 方法 一个 需要 访问 封装 color
1.1 类里面包括:类的属性、方法
OO的特征(Object Oriented)
封装:信息隐蔽技术
继承:继承是子类自动共享父类之间数据和方法的机制
>>> class MyClass(list): pass >>> list1.append(4) >>> list1.append(3) >>> list1.append(7) >>> list1 [4, 3, 7] >>> list1.sort() >>> list1 [3, 4, 7]
多态:不同对象对同一方法响应不同的行为
OOA:面对对象分析
OOP:面对对象编程
OOD:面对对象设计
对象的方法中都有一个self的参数,相等于C++的this 指针
由一个类可以生成无数的对象,这些对象都长的基本一样,当一个对象的方法被调用的时候,对象会将自身(self)作为第一个参数,接收到这一个参数的时候,Python的类就知道是哪一个对象在调用方法了
class Ball: def SetName(self,name): self.name = name def kick(self): print(‘我是%s,你踢我干嘛!‘,self.name)
执行之后的结果:
>>> a.Kick() 我是球A,你踢我干嘛! >>> b.Kick() 我是球B,你踢我干嘛! >>> c.Kick() 我是球C,你踢我干嘛!
1.2 python中的魔法方法:
python的对象天生拥有一些神奇的方法,他们是面对对象的python的一切,他们是可以给你的类增加魔力的特殊方法,如果你的对象实现了这些方法中的某一个,这个方法就会在特殊的情况下被python所调用,而这一切都是自动发生的。
这些具有魔力的方法都是以双下划线定义:
__init__(self):构造方法 ,该方法的魔力在于,实例化一个对象的时候,那么这个方法会在这个对象创建的时候调用(c++中的构造函数,)进行初始化操作
1.2.1 公有和私有
默认的情况下类中的属性和方法都是公有的,都是可以通过点操作符来进行访问
为了实现类似私有变量的特征,python内部中采用一种name mangling(名字改编,名字重整)
在Python中定义私有变量只需要在变量名或函数名前加上“__”两个下划线,那么这个函数或变量就会私有的了。
class Person: _name = ‘小甲鱼‘
可以通过类内的方法来进行访问
实际上是对变量作了手脚
将变量名改成了
_类名__变量名
所有上面的person类中的私有变量可以通过以下方法访问到:
>>> p = Person() >>> p._Person__name ‘小甲鱼‘ >>>
标签:构造 特殊方法 sort 方法 一个 需要 访问 封装 color
原文地址:https://www.cnblogs.com/hai5111/p/9612990.html