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

    xiaoxiao2023-03-24  4

    引言:

                  目前,软件行业还在使用的软件开发核心思想包括面向过程和面向对象,今天我们来研究一下融合俩种思想的强大语言——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#的类和对象,所以它是很强大。

    转载请注明原文地址: https://ju.6miu.com/read-1202805.html
    最新回复(0)