什么叫思想?
1.人的意识经过思维活动产生的结果
2.心里的打算
3.意识形态的;
人类的思想基本都是遵守了某种范式。编程语言也是具有自己的风格或者说是范式。
唠唠面向过程与面向对像
面向过程编程- Process-oriented programming POP
面向对像编程 -Object Oriented Programming OOP
面向过程语言:C语言
面向对像语言:C++、java、C#等等
面向过程编程,以过程上为中心思想。分析问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候分别调用。
面向对像把整个问题分解成对象,对像是某个事物在整个问题步骤中的行为。
面向过程是先有算法,后有数据结构。
面向对象是先有数据结构,然后再有算法
打个比方,比如你去某个地方旅行,面向过程会根据当时的情况做出决定 。
面向对像是在度假的时候就已经做了准备,而不管什么情况都要根据安排去做。
代码说明
面向过程:
大象装冰箱三个过程,先做什么再做什么
1、把冰箱门打开
2、把大象装进去
3、把冰箱门关上
完成阶段性目标,最终把大象装进去。
C语言演示面向过程装大象 :
#include <stdio.h>
void openFridges(void){
//根据需求写其它操作
printf("打开冰箱门");
}
void ElephantIn(void){
//根据需求写其它操作
printf("大象装冰箱");
}
void closeFridges(void){
//根据需求写其它操作
printf("关上冰箱门");
}
int main()
{
openFridges(); //打开冰箱门
ElephantIn();//装大象
closeFridges();//关上冰箱门
return 0;
}
C#面向对像演示:
大象装冰箱每个事件都有一个执行者(大象、冰箱),而它们都有自己的行为
1、冰箱(执行)打开门
2、冰箱(执行)装大象 PS:大象 (执行) 自觉进去
3、冰箱 (执行)关门 PS: 大象 (执行)关上冰箱门
面向对像装大象:
对像:大象、冰箱
行为:
大象:装进(PS:另一种行为自己滚进去)
冰箱:打开、关门
冰箱:打开门、关上门
面向过程相对面向对像优缺点及应用场景
面向过程:
优点:性能比面向对像高
缺点:
1)开销大,消耗资源
2)不易维护、复用性差、扩展性也差
应用领域:应用于看重性能的场景,单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。
面向对像
优点:
1)结构清晰。
2)面向对像的特征之一封装性,减小外部对内部的影响。
3)易维护、复用性好、扩展性好,有效的减少了维护工作量。
缺点:
1)性能差
2)增加工作量。(大象装冰箱就可以看出增加了编程工作量,而且增加了运行开销)
3)过多的继承,可能会导致存储问题。
应用领域:如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
总结
面向对像比面向过程最大的优势就是扩展性和维护性以及可重复性。在开发过程中,面向对像容易分离,利于团队的分工合作,同时开发降低了项目成本,提高了开发效率。
面向对像与面向过程没有好坏之分,只是思维不同。关键是找到合适的应用领域。