一. 面向对象和面向过程
1. 面向过程: 一切以事物的流程为核心, 核心是"过程"二字, 过程是解决问题的步骤,
即先干什么, 后干什么.
优点: 简单, 流程化, 流水式的工作
缺点: 可扩展性差
2. 面向对象: 一切以对象为中心. 具有相同属性和动作的结合体叫对象. 自己建立对象, 建立场景.
重点在"对象": 属性和动作, 类似上帝式的思维.
优点: 可扩展性强(多态)
缺点: 编写相对比较复杂, 上手比较难
二. 面向对象如何编写
在代码中定义一个类, 就相当于画图纸
class 类名:
pass
创建对象: 类名()
1. 构造方法:
def __init__():
self.属性 = 属性
2. 普通方法
def 方法名(self, 参数列表):
pass
self: 表示当前类的对象, 当前正在执行这个动作的对象.
对象.方法()
类名.方法(对象, 参数)
类与对象的关系: 类是对事物的总结, 抽象的概念, 类用来描述对象, 对象是类的实例化的结果,
对象能执行哪些方法, 都是由类来决定,类中定义了什么, 对象就能拥有什么
三. 面向对象和面向过程的对比
具体问题, 具体分析, 没有绝对的好和不好.
结论: 根据不同的业务逻辑, 来决定用那种思想
四. 面向对象的三个特征(记下来)
1. 封装: 把具有相同属性和功能的内容封装在一个对象中
2. 继承: 子类可以自动拥有父类中除了私有属性外的其他所有内容
3. 多态: 同一个对象, 可以拥有多种形态, python原生自带多态性, 程序具有超高的可扩展性, 面向对象思想的核心与灵魂.