下面是有关C++面向对象程序设计的一些概念:
1、什么是面向对象程序设计?
“程序=对象+消息”的新的程序设计范型(即程序设计的规范、风格)
区别于
面向过程的“程序=过程+调用”(过程可以理解为执行操作的代码的定义,函数是最常用的过程)
这里要先声明C++是混合型语言,即面向对象、面向过程二者合一。
2、面向对象程序的主要结构特点:
1程序由类的定义和类的使用两部分组成
2程序中的一切操作都是通过向对象发送消息来实现的,对象接收到信息后,根据类中的功能去实现。
3、基本概念:
对象:把数据与操作封装在一起的构成的统一体。
类:具有相同数据与操作的一组对象的集合。
对象与类之间的抽象与具体关系:类是多个对象进行综合抽象的结果,一个对象是类的一个实例。
消息与方法:
消息:一个对象向另一个对象发出的请求(理解为对对象中的函数的调用)
方法:对象所能实现的行为称为方法,通过调用函数来实现的(理解为函数)
关系:对象收到信息,调用相应的方法
4、面向对象程序设计的基本特征:
抽象:将有关事物的共性归纳、集中的过程,比如把具有大学学籍的一类人抽象为“大学生”。
把一些对象的数据与行为抽象到一个类中,成为类的数据与函数(操作)。
封装:把数据和操作的代码集中起来放在对象的内部,提供接口(即函数),即有利于数据安全,又方便人们使用。
继承:利用一个已有的(基)类创建一个新的(子)类(重用代码)。
多态:“把挡路的东西拿开”这一相同命令对于司机与有孩子的妈妈是不同的,他们听到请求以后对此的反应不同。(信息相同,作用的对象不同,操作方法不同)
5、为什么要使用面向对象程序设计?(有什么好处?)
1、提高程序的重用性
通过建立在各种环境下都能使用的库类、已有类派生出新类
2、控制程序的复杂性
把数据和调用放在同一个类中,保持一致,避免数据错误调用正确函数或正确数据调用错误函数。不会说数据与操作分离,使程序变得复杂。
3、易于维护
对对象地操作只能通过消息传递来实现,不会导致程序的修改,即封装与信息隐藏机制避免了非法操作。
4、更好地支持大型程序设计
在开发一个大型系统时,把类作为一个个程序模块,划分给每一个程序员,有利于开发。
6、面向对象语言的发展
1、第一个真正的面向对象的语言smalltalk(最具代表)
2、simula
3、java
4、C#
以上就是笔者对面向对象的一些理解,欢迎交流。