优点:
1、易维护
采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
2、质量高
在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
3、效率高
在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
4、易扩展
由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
缺点:
1、没有准确的定义:很难提供一个准确的定义来说明面向对象DBMS应建成什么样,这是因为该名称已经应用到很多不同的产品和原型中,而这些产品和原型考虑的方面可能不一样。
2、维护困难:随着组织信息需求的改变,对象的定义也要求改变并且需移植现有数据库,以完成新对象的定义。当改变对象的定义和移植数据库时,它可能面临真正的挑战。
3、不适合所有的应用:面向对象数据模型用于需要管理数据对象之间存在的复杂关系的应用,它们特别适合于特定的应用,例如工程、电子商务、医疗等,但并不适合所有应用。当用于普通应用时,其性能会降低并要求很高的处理能力。
说几个主要的:
优:
(1)是一种全新的系统分析设计方法(对象、类、结构属性、方法)
(2)适用于各类信息系统的开发。
(3)实现了对客观世界描述到软件结构的直接转换
,大大减少后续软件开发量。
(4)开发工作的重用性、继承性高,降低重复工作量。
(5)缩短了开发周期。
(这几点是网上复制的)
缺点也很明显。
类和继承等特点使得程序会多很多指针操作来定位函数入口和自身要维护虚拟方法表等额外的工作,程序的处理效率相对要低(但程序开发效率高)。所以现在单纯的c语言还是大为用武之地的。
但随着科技的进步,cpu和内存的性能也突发猛进。由原来的1核到8核,内存16m和现在的16g,所以程序的效率多多少少会随着硬件的性能变得更好。你可以发现很多大的项目也开始由c转而变成让c++和java等面向对象来写了。