1、面向对象的编程---object oriented programming
简称:OOP,是一种编程的思想。OOP把对象当成一个程序的基本单元,一个对象包含了数据和操作数据的函数。面向对象的出现极大的提高了编程的效率,使其编程的重用性增高。
2、__init__() 函数
上面的例子是最简单形式的类和对象,在实际应用程序中并不真正有用。
要理解类的含义,我们必须先了解内置的 __init__() 函数。
所有类都有一个名为 __init__() 的函数,它始终在启动类时执行。
使用 __init__() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作
3、python面向对象的重要术语:
(1)、多态(polymorphism):一个函数有多种表现形式,调用一个方法有多种形式,但是表现出的方法是不一样的。
(2)、继承(inheritance)子项继承父项的某些功能,在程序中表现某种联系。
(3)、封装(encapsulation)把需要重用的函数或者功能封装,方便其他程序直接调用
封装的核心:封装是隐藏对象中一些不希望被外部访问到的属性或方法。
在学习 Java 的过程中,我们进行封装操作的时候,设置属性的访问权限为 private(只在当前类可以访问),所以我们会使用 getter 和 setter 方法来修改属性的值。在 Python 中我们也可以使用 同样的 getter 和 setter 方法。
4、类:对具有相同数据或者方法的一组对象的集合
类:用户定义的对象原型,该原型定义了一组可描述该类任何对象的属性,属性是数据成员和方法,可以通过'.'来访问。
实例:描述该类具有的特征,比如人类具备的属性,身份证,姓名,性别,体重等属性。
方法:是该类对象的行为,例如这个男孩子会打篮球,那个女孩子会唱歌等等都是属于方法「常常通过方法改变一些类的属性值」
5、对象:对象是一个类的具体事例
6、实例化:是一个对象事例话的实现
7、标识:每个对象的事例都需要一个可以唯一标识这个事例的标记
8、实例属性:一个对象就是一组属性的集合
9、事例方法:所有存取或者更新对象某个实例一条或者多条属性函数的集合。
10、类属性:属于一个类中所有对象的属性,
(1)类属性:直接在类中定义的属性就是类属性
(2)类属性可以通过实例直接访问到
(3)类属性只能通过类对象修改,无法通过实例对象修改
第三点特性可以通过测试如下两个属性,分别单独打印,就可以看到结论
11、类方法:那些无须特定的对性实例就能够工作的从属于类的函数。
方法包括:普通方法、静态方法和类方法,三种方法在内存中都归属于类,区别在于调用方式不同。
1.>普通方法:由对象调用;至少一个self参数;执行普通方法时,自动将调用该方法的对象赋值给self;
2.>静态方法:由类调用;无默认参数.
3.>类方法:由类调用; 至少一个cls参数;执行类方法时,自动将调用该方法的类复制给cls。
12、反射
(1) python中的反射功能是由以下四个内置函数提供.
(2) getattr(): #获得对象的属性和方法
(3) hasattr(): #检查实例是否有这个属性
(4) setattr(): #给对象重新赋值
(5) delattr(): #删除对象成员