面向对象
一 .面向对象和面向过程比较
①面向过程:一切以事物的发展流程为核心
优点:负责的问题流程化,编写相对简单
缺点:可扩展性差
②面向对象:一切以对象为中心. 一切皆为对象.
具体的某一个事务就是对象
优点:可扩展性强
缺点:编程的复杂度高于面向过程
二.类和对象
①类:就是图纸,创建对象的第一步
对象:通过类造出来的具体事物,
②基本格式
class 类名: #创建类 类名用驼峰格式
def __init__(self,参数): # self当前类的对象,参数一般作为属性
self.属性 = 值
self.属性 = 值
def 方法(self , 参数) #即函数
方法体(函数体,return)
变量 = 类名() #创建对象
变量.属性 #访问对象的属性信息
变量.方法() #访问类中的方法
三.3大特征 ( 封装, 继承, 多态.)
①封装
1.对属性的封装 2.对方法和功能的封装 3.模块和包
②继承 :
⼦类可以⾃动拥有⽗类中除了私有属性外的其他所有内容.
对父类进行扩展
当出现xxx是一种yyy类型的东西. 可以使用继承关系
父类的对象不能执行子类中的功能
类中的方法的查询顺序. 先找自己, 然后再找父类
1.基本格式
2.支持多继承
③多态
同一个对象,多种形态
(鸭子模型, 只要会嘎嘎叫就是好鸭子,有超强的可扩展性)