第六章 面向对象编程
支持面向对象的基本功能:继承、多态、封装
将数据和操作数据相关的方法封装到对象中
面向对象和面向过程的区别:
面向过程:首先思考怎么按照步骤实现
面向对象:设计者的思维,适合大规模程序
对象的进化:
1.简单数据
2.数组,同类型的数据放在一起处理
3.结构体(c语言),不同类型的数据放在一起
4.对象,将不同类型的数据、方法(函数)放在一起
类的定义,类和对象的关系
类是创建对象的“模具”
对象的结构
方法由同一个类创建的对象共享
每个对象维持自己的属性
构造函数__init__()
类是抽象的,通过类的模板,创建类的实例对象,然后才能使用类定义的功能
第一个参数必须是self,指的是刚刚创建好的实例对象
__init__():初始化创建好的对象
__new__():创建对象
实例方法是从属于实例对象的方法
def 方法名(self[,形参])
实例对象
dir(obj)获得对象所有的属性和方法
类对象
类属性 类方法
类方法通过装饰器@classmethod必须位于方法上面一行
类方法和静态方法中不能调用实例变量、实例方法
__del__()析构方法和垃圾回收机制
释放占用的资源,当对象没有被引用时,由垃圾回收器调用
__call__()方法和可调用对象