Python类与面向对象的概念
面向对象编程(OOP)
以数据为核心,围绕数据及为数据严格定义的接口来组织程序,用数据控制对代码的访问。
类型是由状态集合和转换这些状态的操作集合组成
类:定义了被多个同一类型对象共享的结构和行为(数据和代码)。
类的数据和方法:即类的成员
数据:成员变量或实例变量
成员方法:即操作数据的代码,用于定义如何使用成员变量;因此一个类的行为和接口是通过方法来 定义的。
方法和变量:
私有:内部使用 公共:外部可见
每个对象仅能接受特定的请求
能向对象发送的请求由其”接口“进行定义;对象的”类型“或”类“则规定了它的接口形式。
类间关系:
依赖:一个类的方法操纵另一个类的对象
列表依赖于字串,依赖于数值等
聚合:类A的对象包含类B的对象
l1 = [1,'a']
继承:描述特殊与一般的关系
能够被父类调用的方法一定能够被子类调用。
面向对象编程原则:
封装:隐藏实现方案细节,将代码及其处理的数据绑定在一起的一种编程机制,用不保证程序和数据不 受外部干扰且不会被无用。
继承:一个对象获得另一个对象属性的过程;用于实现按层分类的概念。一个深度继承的子类继承了类 层次中它每个祖先的所有属性。 有超类,基类,父类 ---子类、派生类。
寻找属性的爬树方式
多态:允许一个接口被多个通用的类动作使用的特性,具体使用哪个跟具体场合有关。
In [223]: def qiuhe(x,y):
.....: print x + y
.....:
In [224]: qiuhe(1,3)
4
In [225]: qiuhe('a','b')
ab
In [226]: qiuhe([1,2,3],['a','b','c'])
[1, 2, 3, 'a', 'b', 'c']
一个接口,多个方法。
用于为一组相关的动作设计一个通用的接口。
浙公网安备 33010602011771号