文本内容:
面对对象和面对过程刚接触C++时,就接触C是面对过程,C++是面对对象的说法却始终对何为面对过程何为面对对象没有一个清楚的熟悉,最近在网上看了些资料结合自己的一些理解总结下对面对过程和面对对象的理解从字面意思去理解,前者重点是对象,而后者重点是过程其实就是两种程序设计的思维的区分面对对象的设计思维方式是一切皆对象,把一个程序的功能实现划分为几个类重点是去设计几个类,类设计好了,要实现程序的功能直接使用相关的对象去实现,一种由下至上的设计思路设计思路清楚明白,而类的相对独立性很强,设计的程序更加敏捷,易维护,易扩展而面对过程的设计思维是从过程入手,遵循的是”详细问题详细解决”,首先分析的是一个程序实现需要的步骤是怎么样的,然后去依据步骤去设计完成相应的模块各个模块之间的耦合性比较强,很注意算法的设计,规律思维很强,采纳的是由上至下的设计方式比犹如样造一辆汽车,用面对对象的思维方式去设计的话,主要去设计各个部件的模型,制造汽车时,若要用到相应的部件就依据模型(类)产生一个详细的部件(对象),每个部件都是相对独立的而采纳面对过程的思维去设计的话,是从如何想实现一部汽车的各个功能的角度去设计每个要使用的部件,设计每个部件的同时还得考虑与其他相关部件的联系,每个部件之间的联系很强在网上曾看到一个比较形象的比方,用面对对象设计出来的程序就好比盖浇饭,饭和菜分开的比较明显,用面对过程设计的程序就好比蛋炒饭,蛋和饭混在一起不过随着面对对象的思想的消失,许多面对对象的思想在面对过程中也能很好的实现而面对对象的局部设计其实也是一种面对过程的设计,只不过其面对过程的概念淡化了两者之间的区分在设计小型的程序区分不大,但在设计大型程序时,用面对过程设计的话整个设计会变得很混乱,实现难度很大但并不代表面对过程的设计就没优势下面是两种设计方式的对比面对过程优点性能比面对对象高,由于类每次产生对象都要实例化,资源开销比较大,比如单片机嵌入式开发,Linux/Unix等一般采纳面对过程开发,其比较注意性能缺点没有面对对象易维护,易复用,易扩展面对对象优点易维护、易复用、易扩展,由于面对对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加敏捷、更加易于维护缺点性能比面对过程低。
个人认证
优秀文档
获得点赞 0