软件开发:面向对象和面向过程开发有什么区别?
面向过程:这件事先干什么,再干什么,最后完成了工作面向对象:对象A能干什么,对象B能干什么,完成工作只需要AB分别做这些事情
软件开发:面向对象和面向过程开发有什么区别?面向过程:这件事先干什么,再干什么,最后完成了工作
面向对象:对象A能干什么,对象B能干什么,完成工作只需要AB分别做这些事情谢邀。
面向过程:
向右移动(人物1)
攻击(人物1,敌人1)
死亡(敌人1)
购买物品(人物1,宝剑)
……
面向对象:
人物1.向右移动
人物1.攻击(敌人1)
敌人1.死亡
人物1.购买物品(宝剑)
……
区别;一个是“CPU调用某个功能、然后调用另一个、……”(面向电脑),另一个是“对象做什么、然后做什么、……” (面向人脑)。对象可以是人、物体等。
如果还是不能理解:面向人脑的意思就是更加人性化。
------------分割线-------------
更新:以上是答主及其不负责任的回答,因为答主其实没啥编程经验。并且期待更好的回答出现 。面向过程的思路,好比是做一件事情本身需要的步骤。
面向对象的思路,好比是A做1,3,5,B做2,4,6。因为不止有一个人,所以需要规定如何协作。
所以可以有以下例子:
A a;
B b;
a.1();
b.2();
//...
至于如何确定谁做什么,就是基于业务逻辑的面向对象设计(OOD)。拿一个最开始学习的时候的例子,看看能不能把这个事情说清楚。
比如要做一个下五子棋的游戏。
面相过程的做法是:
1.绘制棋盘。
2.绘制白棋或者黑旗。
3.判断输或赢
4.重复2,3。
面相对象的做法:
将这些过程分解成为一个个实体的对象。
比如一个棋盘是一个对象,这个棋盘需要有自己的属性,比如有多少个行,列等,还要有自己的方法(),比如绘制自己。
棋子又是一个对象,他有自己的属性,白色或者黑色。有自己的方法,比如绘制自己。
还有游戏规则,也是一个对象,这个对象有自己的方法就是判断是赢了或者输了。
然后编程开始,先根据各个对象的特点,创建他们的类。然后分别创建棋,棋盘,规则的对象。最后通过调用他们中自己的方法,来完成这个游戏。
手机码,说的也可能不清楚,见谅。
面向对象:对象A能干什么,对象B能干什么,完成工作只需要AB分别做这些事情谢邀。
面向过程:
向右移动(人物1)
攻击(人物1,敌人1)
死亡(敌人1)
购买物品(人物1,宝剑)
……
面向对象:
人物1.向右移动
人物1.攻击(敌人1)
敌人1.死亡
人物1.购买物品(宝剑)
……
区别;一个是“CPU调用某个功能、然后调用另一个、……”(面向电脑),另一个是“对象做什么、然后做什么、……” (面向人脑)。对象可以是人、物体等。
如果还是不能理解:面向人脑的意思就是更加人性化。
------------分割线-------------
更新:以上是答主及其不负责任的回答,因为答主其实没啥编程经验。并且期待更好的回答出现 。面向过程的思路,好比是做一件事情本身需要的步骤。
面向对象的思路,好比是A做1,3,5,B做2,4,6。因为不止有一个人,所以需要规定如何协作。
所以可以有以下例子:
A a;
B b;
a.1();
b.2();
//...
至于如何确定谁做什么,就是基于业务逻辑的面向对象设计(OOD)。拿一个最开始学习的时候的例子,看看能不能把这个事情说清楚。
比如要做一个下五子棋的游戏。
面相过程的做法是:
1.绘制棋盘。
2.绘制白棋或者黑旗。
3.判断输或赢
4.重复2,3。
面相对象的做法:
将这些过程分解成为一个个实体的对象。
比如一个棋盘是一个对象,这个棋盘需要有自己的属性,比如有多少个行,列等,还要有自己的方法(),比如绘制自己。
棋子又是一个对象,他有自己的属性,白色或者黑色。有自己的方法,比如绘制自己。
还有游戏规则,也是一个对象,这个对象有自己的方法就是判断是赢了或者输了。
然后编程开始,先根据各个对象的特点,创建他们的类。然后分别创建棋,棋盘,规则的对象。最后通过调用他们中自己的方法,来完成这个游戏。
手机码,说的也可能不清楚,见谅。
责任编辑: