问题补充说明:尽量用英文解释,谢谢
优点:
1项、维护简单
模块化是面向对按对日阿屋沉根农盐维象编程中的一个特征。实体被表示为类和同一名字空间中具有相同功能的类,我们可以在名字空间中添加一个类而不来自会影响该名字空间的其他成员。
2、可扩360问答充性
面向对象编程从本测质上支持扩充性。如果有一个具有某种功能的类,就可以很快地扩充这个类,创建一个具有扩充的功能的类。
3、代码重用
由于功能是被封装在类中的,并且类是作为一个独立实体而存在的,提供一个尔得穿愿赶连深判显神类库就非常简单了。事实上,任何一个.NETFramework编程语言的程序员都可以使用.NETFramework类库,.NETFramework类库提供了很多的功能。更令人高兴的是,我们可以通过提供符合需求的类来扩充这些功能。
缺点:
就C++而言,由于面向更高的逻辑抽象层,使得C++在实现的时候,不得不做出性能上面的牺牲,有时候甚至是致命的(所有对象的属性都经过内置多重指针的间接引用是其性能损失的主要原因之一;不过,笔者的局限性棉止征在于未使用过VC++外的面向对象语言,所以不是十分肯定,哈哈,有人笑出来了…)。
在计算机速度飞速发展的今天,你可能会说,一丁点标话屋等光阶班万值的性能牺牲没什么大不了。是的,从面向对象的角度,使的编程的结构更加清晰完整,数据更加独立和易厂脱于杆草专继析奏于管理,性能的牺展便弱牲可以带来这么多的好处,没有理由不做稳赚的生意吧?
不过,在某些对速度要求极高特殊场合,例如你做的是电信的交换系统,每秒钟有超过百万的人同时进行电话交换,如果,每一个数据交换过程都是一个对象,那么总的性能损失将是天文数字!!