C++学习---(三)面向对象的优缺点
2017-02-23 21:45
288 查看
什么是面向对象编程:面向将系统看成通过交互作用来完成特定功能的对象的集合。每个对象用自己的方法来管理数据,也就是说只有对象内部的代码能够操作对象内部的数据。
面向对象的三大优点:复用性、维护性、拓展性
面向对象的三大特点:(实际上是四大特点)
1:封装(维护性):如大话设计模式中的一个故事:活字印刷。应对不同客户的需求,只需改动特定的维护,不需重新设计,此为可维护
2:继承(复用性):同一个设计的程序模块,当满足其他需求时,可直接用于其他需求,此为可复用
3;多态(扩展性):当要添加新的模块功能时,不需变动原有的,只需添加新的即可,此为可扩展
4:抽象(灵活性):面对不同的需求,有不同的功能,此为灵活性好
下面谈谈们各自的作用:
封装的作用:
封装是指按照信息屏蔽的原则,把对象的属性和操作结合在一起,构成一个独立的对象。
通过限制对属性和操作的访问权限,可以将属性“隐藏”在对象内部,对外提供一定的接口,在对象之外只能通过接口对对象进行操作。
封装性增加了对象的独立性,从而保证了数据的可靠性。
外部对象不能直接操作对象的属性,只能使用对象提供的服务。
继承的作用:
继承表达了对象的一般与特殊的关系。特殊类的对象具有一般类的全部属性和服务。
当定义了一个类后,又需要定义一个新类,这个新类与原来的类相比,只是增加或修改了部分属性和操作,这时可以用原来的类派生出新类,新类中只需描述自己所特有的属性和操作。
继承性大大简化了对问题的描述,大大提高了程序的可重用性,从而提高了程序设计、修改、扩充的效率。
多态的作用:
多态性:同一个消息被不同对象接收时,产生不同结果,即实现同一接口,不同方法。
一般类中定义的属性和服务,在特殊类中不改变其名字,但通过各自不同的实现后,可以具有不同的数据类型或具有不同的行为。
抽象的作用:
抽象是人们认识事物的一种方法,抓住事物本质,而不是内部具体细节或具体实现
面向对象编程的优缺点:
面向对象编程的优点:
易维护:可读性高,即使改变需求,由于继承的存在,维护也只是在局部模块,维护起来是非常方便和较低成本的。
质量高:可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
效率高:在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
易扩展:由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
面向对象编程的缺点:
运行效率会下降10%左右
面向对象的三大优点:复用性、维护性、拓展性
面向对象的三大特点:(实际上是四大特点)
1:封装(维护性):如大话设计模式中的一个故事:活字印刷。应对不同客户的需求,只需改动特定的维护,不需重新设计,此为可维护
2:继承(复用性):同一个设计的程序模块,当满足其他需求时,可直接用于其他需求,此为可复用
3;多态(扩展性):当要添加新的模块功能时,不需变动原有的,只需添加新的即可,此为可扩展
4:抽象(灵活性):面对不同的需求,有不同的功能,此为灵活性好
下面谈谈们各自的作用:
封装的作用:
封装是指按照信息屏蔽的原则,把对象的属性和操作结合在一起,构成一个独立的对象。
通过限制对属性和操作的访问权限,可以将属性“隐藏”在对象内部,对外提供一定的接口,在对象之外只能通过接口对对象进行操作。
封装性增加了对象的独立性,从而保证了数据的可靠性。
外部对象不能直接操作对象的属性,只能使用对象提供的服务。
继承的作用:
继承表达了对象的一般与特殊的关系。特殊类的对象具有一般类的全部属性和服务。
当定义了一个类后,又需要定义一个新类,这个新类与原来的类相比,只是增加或修改了部分属性和操作,这时可以用原来的类派生出新类,新类中只需描述自己所特有的属性和操作。
继承性大大简化了对问题的描述,大大提高了程序的可重用性,从而提高了程序设计、修改、扩充的效率。
多态的作用:
多态性:同一个消息被不同对象接收时,产生不同结果,即实现同一接口,不同方法。
一般类中定义的属性和服务,在特殊类中不改变其名字,但通过各自不同的实现后,可以具有不同的数据类型或具有不同的行为。
抽象的作用:
抽象是人们认识事物的一种方法,抓住事物本质,而不是内部具体细节或具体实现
面向对象编程的优缺点:
面向对象编程的优点:
易维护:可读性高,即使改变需求,由于继承的存在,维护也只是在局部模块,维护起来是非常方便和较低成本的。
质量高:可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
效率高:在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
易扩展:由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
面向对象编程的缺点:
运行效率会下降10%左右
相关文章推荐
- C++学习杂记之-面向对象
- C++面向对象(学习笔记)
- java学习之旅33--面向对象_06_虚拟机内存管理_垃圾回收机制_c++和java的比较
- [C++ Primer Plus]学习笔记--浮点数的优缺点
- C/C++学习(1)面向对象的多态性问题、虚函数调用
- Pro visual c++/cli and .net 2.0 platform2 学习笔记(9第三章 面向对象的C++/CLI==2)
- 面向对象 C++学习之我之过错
- 【C++】由Polocar 学习 C++面向对象
- 每天学习一点c++之六——面向对象
- 面向对象 C++学习之我之过错
- 嵌入式开发之C++基础学习笔记4--面向对象封装继承多态
- C++基础学习笔记----第七课(面向对象的基本概念)
- C++基础学习笔记----第七课(面向对象的基本概念)
- C++学习,面向对象
- C++学习笔记4:面向对象的基础之类与对象
- C++及相关面向对象进阶学习用书推荐
- C/C++学习笔记(五)面向对象的编程
- C++学习笔记->面向对象的三个特性
- C++学习笔记之三——面向对象的编程
- 面向对象 C++学习之我之过错