面向对象的思想概述
面向过程思想概述
那么什么是面向过程开发呢?
面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。
面向过程的代表语言:C语言
什么是面向对象的思想
面向对象的思想是基于面向过程思想发展而来的。
- 面向过程:强调的是实现功能每一个步骤
- 面向对象:强调的是对象,然后由这个对象去调用功能
面向对象的特点:
- 是一种更符合我们思想习惯的思想
- 可以将复杂的事情简单化
- 将我们从执行者变成了指挥者
举例:
吃饭:
面向过程的思想:先去菜市场买菜--洗菜--切菜--做菜--装盘--吃
面向对象的对象:你点外卖--(点菜)--厨师(做菜)--外卖小哥(送餐)
伪代码举例
需求:将大象装进冰箱里
面向过程的思想:
分析过程:
1、打开冰箱门
2、把大象装进冰箱
3、关闭冰箱门
伪代码实现:
class Demo{
public static void main(String[] args){
System.out.println("打开冰箱门");
//打开冰箱门这个动作,肯定不是一行代码就搞得定的
//现在仅仅是为了演示面向过程的编码思想
//假设我们将来这个程序要打开很多次冰箱门
//可以将打开冰箱门这个功能封装成一个方法然后去调用
//把大象装进冰箱以及关闭冰箱门这两个功能也可以封装成方法
open();
put();
close();
}
public static void open(){
//写打开冰箱门的功能实现代码
}
public static void put(){
//写把大象装进冰箱的功能实现代码
}
public static void close(){
//写关闭冰箱门的功能实现代码
}
}
面向对象的思想:
使用面向对象的思想去实现该需求:
- 我们需要考虑该需求中有哪些类?
- 每一个类中都有些什么呢?
- 类与类之间的关系又是什么呢?
1、我们需要考虑该需求中有哪些类?
如何分析有哪些类
- 方式1:需要用到UML这门课的知识
- 方式2:名词提取法
有哪些类呢?
通过名词提取法,我们知道有大象类,冰箱类外加一个测试类
2、每一个类中都有些什么呢?
大象类:
属性:体积,鼻子,脚掌,耳朵...
功能:被装进冰箱,喝水,叫...
冰箱类:
属性:立方体,材质,功率...
功能:打开冰箱门,关闭冰箱门,冷藏,保鲜...
测试类:
main方法,实现需求
3、类与类之间的关系又是什么呢?
测试类中使用大象类和冰箱类的功能
伪代码实现:
//大象类
class Elephant{
体积;
鼻子;
脚掌;
耳朵;
被装进冰箱();
喝水();
叫();
}
//冰箱类
class IceBox{
立方体;
材质;
功率;
打开冰箱门()
关闭冰箱门()
冷藏()
保鲜()
}
//测试类
class Demo2{
public static void main(String[] args){
调用冰箱类中的打开冰箱门的方法;
调用大象类中的被装进冰箱的方法;
调用冰箱类中的关闭冰箱门的方法;
}
}