1.结构化程序设计(面向过程)
结构化程序主张按功能来分析系统需求,结构化的主要原则:
-
自顶向下
-
逐步求精
-
模块化设计
结构化程序会按功能把程序分为一个个的单独的文件,例如:让灯亮这个功能,就会由多个函数构成一个文件,这个文件用于实现让灯亮这个功能。
总结:
- 结构化程序最小程序单元是函数
- 其中包含一个程序入口main,该main函数调用其他普通函数,其他普通函数之间依次调用
- 结构化程序设计需要考虑如何将每个模块分解为子模块,直到精简为一个个的函数
2.面向对象程序设计
面向对象的思想:从现实世界客观存在的事物(对象)出发来构造软件系统,强调直接以现实世界中的事物(对象)为中心来思考,根据事物的本质特征,抽象的表示为系统中的类,使得软件系统保持了客观世界事物及其相互关系的本来面貌,即软件系统就是用于管理和维护对象之间的关系。
-
面向对象的思想特点
-
是一种更符合人们思想习惯的思想
-
可以把复杂的思想简单化
-
将我们从执行者变成了指挥者
-
-
如何确定一个对象:
-
有哪些类?
-
每个类有哪些东西?
-
类与类之间的直接关系是什么?
-
-
如何描述事物;
-
该事物的描述信息
-
该事物能做什么?
-
-
事物与java中的对象有什么关系:
事物=类
属性=成员变量
行为=成员方法
面向对象程序设计中的方法等价于结构化程序设计中的函数的概念,都是用于描述功能
函数:用于完成某一功能而抽离出来的特有的达到某一目的的结构
方法:用于体现该对象的某一特征。例如:我会唱歌,唱歌是一个对象特有的功能(不是每个人都会唱歌,也不是每个人唱歌的方式都一样),如何唱歌,在方法里具体实现,如:烟嗓音唱歌,怒音唱歌,颤音唱歌等等
举例:实现猪八戒吃西瓜这件事
面向过程:吃(猪八戒,西瓜)
面向对象:猪八戒.吃(西瓜)
2.1面向对象具有的功能
-
对象是面向对象方法中最基本的概念,对象的基本特点:
标识唯一性、分类性、多态性、封装性、模块独立性好
。 -
类是具有共同属性,共同方法的一类事物。类是对事物的抽象,对象则是类的实例,类的封装性将各种信息细节隐藏起来,并通过公用方法来暴露该类对外提供的功能,从而提高了类的内聚性,降低了对象之间的耦合性
-
对象间的互相合作需要一个机制协助进行,这样的机制称为消息,消息是一个实例与另一个实例之间相互通信的机制
-
在面向对象方法中,类之间共享属性和操作的机制称为继承,继承具有传承性,继承分为单继承和多继承(Java不支持多继承)