面向对象编程
面向对象 OOP object oriented programming的编程思想主要是针对大型软件设计而来,扩展性、可读性更好,编程类似搭积木
Python既可以面向过程、也可以面向对象
面向对象和面向过程的区别
面向过程思维 procedure oriented
执行者思维,适合写小规模程序
思考方式:怎么按步骤实现(举例,怎么一步步造车)
面向对象
设计者思维,适合写大程序
思考方式:怎么设计这个事物(类似于,车怎么设计,而不是造车的步骤是什么)
举例:
- 造车,车由以下对象组成
- 轮胎
- 发动机
- 车壳
- 座椅
- 挡风玻璃
拆解了对象之后,每一个小步骤还是需要面向过程的思维
面向过程,在问题中找动词,面向对象,在问题中找名词,确定之间的关系
面向对象和面向过程的总结
都是解决问题的思维
都是代码组织方式
解决简单问题可以使用面向过程
解决复杂问题:烘干上使用面向对象把握,微观处理上面向过程
对象的进化
背景:计算机越来越快,问题越来越复杂
数据变多,进化出“数组”
数据类型变复杂,进化出“结构体”
处理数据方式和逻辑变复杂,进化出“对象’
- 简单数据
- 30、40、
- 数组
- 将同类型的数据放到一起
- 整数数组[]
- 浮点数数组
- …
- 结构体
- 将不同类型的数据放到一起
- 对象
- 将不同类型的数据、方法(函数)放到一起,就是对象
- 举例:整数9,就是一个包含了加法、乘法等方法的对象