C++ 基于过程与面向对象的基本概念
C语言是一种基于过程的编程语言,C++在此基础上发展而成,保留了C的绝大部分的功能和运行机制。同时增加了面向对象的机制,为了解决编写大型软件程序中的困难。
基于过程
从程序结构角度看,基于过程的程序中,函数是构成程序的基本部分,程序面对的是一个个函数。每一个函数都独立存在于程序中,除了主函数只能被操作系统调用外,其他函数可以相互调用。程序从main函数开始按照编程人员的设计顺序执行。
面向对象
在面向对象的程序中,除了主函数,其他的函数基本都在类中,只有通过类才能调用类中的函数。程序的基本单元是类,程序面对的是一个个类和对象。
基于对象和面向对象
其实在面向对象中,还有一个基于对象的概念。基于对象的定义为:以类对象为基本过程单位的程序,而面向对象程序设计还有其他的要求。为了和基于过程区分,往往把基于对象和面向对象统称为面向对象。
什么是对象
客观世界中,任何一个事物都可以看成一个对象,比如一个班级作为一个对象的时候有两个要素:一个是班级的静态特征,如班级所属的专业,学生人数等,这些静态特征成为属性;另一个是班级的动态特征,比如学习,开会等,这些动态特征成为行为。
所以,对于一个对象的定义:
任何一个对象都应当具有两个要素:属性和行为。对象是由一组属性和一组行为组成的。
在C++中,每个对象都由数据和函数组成,数据体现了属性,函数体现了行为,也可以称之为方法。
面向对象程序的特点
面向对象程序设计主要有四个特点:抽象,封装,继承和多态性。
(1)抽象:
抽象的作用是表示同一类实物的本质,在C++中的理解是类是对象的抽象,而对象则是类的特例(类的实例化),这里还是把抽象理解成一个名词好一点。
(2)封装:
对对象的封装指的是把它一部分属性和功能对外界屏蔽,这样就做到了把对象的内部实现和外部行为分割开来。
封装有两个好处:实现各个对象间的相对独立和信息隐蔽。
而封装后的函数名就是对象的对外接口。
(3)继承
在某个软件开发过程中,已经建立一个类,叫“pangpang”,又有需求需要建立一个新的类叫“bubble”,这个新类的功能之比“pangpang”类多一点,利用C++中继承机制,我们不需要重头新建“bubble”,而只需要在“pangpang”的基础上增加一些东西即可。
这样就可以说,“pangpang”是父类或基类,“bubble”是子类或派生类。
(4)多态性
由于继承而产生的不同的派生类,其对象对同一个消息会作出不同的响应。
还没有评论,来说两句吧...