C++基础篇(3)——从面向过程到面向对象

来源:互联网 发布:云计算专业认识 编辑:程序博客网 时间:2024/05/23 22:09

引言:

              目前,软件行业还在使用的软件开发核心思想包括面向过程和面向对象,今天我们来研究一下融合俩种思想的强大语言——C++。

概述:

               C++作为一种融合俩种软件开发思想的混合型语言,那么肯定存在一个由面向过程过渡到面向对象的过程经历,同时我们也简单对俩种思想做一个比较。

内容:

              一 从结构体到类

              1 结构的演化
                     (1)C语言和C++结构体的区别:
                                     1)定义形式:
                                               C语言:struct 结构名
                                              {
                                                      类型 变量名
                                                }
                                       2)结构体成员不同:C语言的结构体不可以定义函数,C++的结构对象可以定义函数,称之为成员函数。
                                        3)使用原理不同:  
                       (2)C++结构体特点
                                       1)函数与数据共存:struct 结构名 { 
                                                                                   数据成员     //可以像C语言中结构体变量使用数据成员那样,通过C++结构对象使用成员函数:结构对象.成员函数
                                                                                    成员函数  
                                                                           };
                                       2)封装性:私有的数据成员,必须通过公有的成员函数才能使用。
                         (3)构造函数初始化对象。
                                            构造函数名 对象名 (初始化参数);
           2 结构体到简单类
                          (1) 使用关键字class代替struct,就是一个标准的类;
                         (2) 同时成员变量中加入了成员函数。
       二 面向对象
           1 基础知识点
                         (1) C++描述对象的三要素:对象名、属性和操作。
                         (2) 属性:描述对象静态特征的一个数据项;
                          (3) 操作:描述对象动态特征的函数序列(使用函数实现操作),也称为方法或服务。 
              2 三大特点(封装、继承、多态)
                        (1)封装:把对象的属性和操作集合成一个独立的系统单元,并尽可能隐蔽对象的内部细节。                             
                                             对象内部数据结构的不可访问性称之为信息(数据)隐藏。
                                             好处:使得程序员在设计程序时可以专注于自己的对象;切断了不同模块之间数据的非法使用,减少了出错的可能性。
                                             在类中,封装是通过存取权限实现的。
                        (2)继承:一个类获得另外一个类的特性。低层的类只须定义它自己的特征,而共享高层的类中的特征。
                        (3)多态性:不同的对象可以调用相同名称的函数,实现完全不同的行为。
           3 类和对象的使用
                        (1)string类:描述字符串特性
                                     1)使用之前包含头文件:#include  <string>
                                      2)俩种string类对象初始化方式:string str1 ("We are here! ");    str2 = " where are you?";
                        (2)complex对象:定义复数对象。
                                       1)使用之前包含头文件:#include <complex>
                                       2)定义使用:complex <数据类型>    对象名 (实部值,虚部值);
                                       3)复数类需要俩个初始值:实部和虚部,借助构造函数初始化语法来实现多值处理。
                                       4)complex是一个模板类,可以定义多种数据类型的复数。
                         (3)模板类和类的区别:类是抽象出一类物质的共同特征;模板则是归纳出不同类型事物的共同操作。
     三 面向过程和面向对象:
         1 面向过程:
                        (1)概念:不必了解计算机的内部逻辑,而把精力主要集中在对如何求解问题的算法逻辑和过程的描述上,通过编写程序把解决问题到步骤告诉计算机。
                        (2)特点:按部就班地解决,而且条理清晰易懂。
                                            程序设计特点就是函数设计,函数是模块的基本单位,是处理问题的一种抽象。
                                             结构化程序设计使用的是功能抽象。
          2 面向对象:
                        (1)特点:面向对象程序设计不仅能进行功能抽象,而且能进行数据抽象。“对象”实际上是功能抽象和数据抽象的统一。
                                             面向对象的程序设计方法不是以函数过程和数据结构为中心,而是以对象代表求解问题的中心环节。

总结:

               C++是介于C语言和C#俩种语言之间的混合型语言,C++其实可以解决很多单种思想类型语言解决不了的问题,例如C语言的驱动程序开发,以及java的多重继承等。C++保留了C语言的指针,但也引入了C#的类和对象,所以它是很强大。

0 0
原创粉丝点击