学习面向对象编程也有一段时间了,对此有点自己的想法,总结如下,与各位学友共享!
何谓面向对象?所谓面向对象涉及的概念有哪些?
面向对象是一种软件开发思想,运用对象、类、封装、继承、聚合、消息传递、多态性等概念来构造系统。
对象是软件系统的基本构成单位,是某个类的实例;类是对某些相同属性的对象的描述,实际上也是一种数据类型,包含属性和服务两部分;类的属性一般用数据表示,服务即事物的行为用方法或函数表示,类对两者进行封装。对象之间用消息进行通信。
面向对象的具有三大特点:封装、继承和多态。
将用来描述客观事物的一组数据和操作集合封装在一起,形成一个实体(对象)的过程,称为封装。
继承指新类对基类的一种传承。包含了基类的所有数据和操作,并且还可拥有属于自己的数据和操作。一种新类可以只对一个基类进行继承,也可以对多个基类进行继承。
多态性又可称重载性,有函数重载(一个函数名可以有多种实现方法,由参数类型、个数、顺序来进行区别)和运算符重载(如<<)。
C++是在C语言的基础上发展起来的,并且因为支持数据封装、支持类的继承和函数的多态性而成为了一种面向对象语言。从形式上讲C++语言程序其实就是类和函数的集合。在C语言的基础(稍微一点点改进),加上对类的应用,你就在使用C++。