1、面向过程
- 面向过程编程就是将代码分解成若干个过程/函数,函数(过程)是最小的模块封装单位
- 过程和函数的区别:过程没有返回值;函数有返回值
2、面向对象
- 面向对象的基本思想是,从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式;
- 面向对象更加强调运用人类在日常的逻辑思维中经常采用的思维方法与原则,例如:抽象、分类、继承、聚合、多态等
类与类之间的关联关系:一个类的方法里面是另一个类里面具体的某一个对象
继承关系:XX是一种XX,学生是一种人;篮球运动员是运动员;金丝猴是一种动物,是一种猴类,是一种保护动物;(一个类可以继承多个类,
C++存在多重继承
)聚合关系(整体和部分):球队和队长的关系,队长可以使多个球队的队长(聚集),两部分密不可分,必不可少的部分(组合)
- 设计思想:
- 在这个问题中有哪些个类哪些个对象
- 再考虑这些类和对象中有哪些属性和方法
- 再考虑类和类之间的关系
为什么要用对象
面向对象的编程是一组对象互相配合通过沟通完成特定功能
所有的paradigm(范例、样本)都是对现实问题的抽象
汇编是对机器语言的抽象
面向过程的语言是对汇编语言的抽象
对象更加符合对于现实问题的抽象
面向对象更加容易是我们达到这些年来苦苦追寻的境界
Reusable(可重复利用的)、Extensibility(可扩展性、扩展性)、维护和更替更加方便……
- 对象都有对外服务的接口:通过继承可以复用
- 对象隐藏内部服务的实现:通过聚合可以复用