IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 解析C++大学教材:第一章 -> 正文阅读

[C++知识库]解析C++大学教材:第一章

大家好,我是珂朵梨树,一个励志自己学会C++的小博主。之前有过类似的文章,不过文笔浮夸而无实际内容,还望谅解,此篇纯干货。

1.面向过程程序设计

核心是功能的分解,根据分解后的模板功能来设计和操作。缺点之一是数据结构变更时,必须修改与之有关的所有模块。由于数据结构与过程的分离,程序员与使用者(客户)的着重点不同。

2.面向对象程序设计

核心是将要被操作的数据,而不是实现这些数据的过程。

3.混合范型语言

C++是面向过程与面向对象的混合范型语言。

4.对象

对象=数据(静态)+操作(动态)

使用对象只需知道接口形式,而不需要知道实现方式,让使用变得简单、方便、安全、可靠。

5.对象的交互

消息是一个对象要求另一个对象执行某个功能操作的规格的说明。对象被某个行为作用时,它就执行了一个方法。

(1)公有消息

例:有消息A1、A2、A3、A4、B1、B2、B3、B4,其中字母A开头的同属于一个对象,B开头的同属于另一个,此时B给A直接发送的消息就是公有消息。

(2)私有消息

例:有消息A1、A2、A3、A4同属于一个对象,A1给A2发的消息就是私有消息

6.类

类对具有相同数据结构和操作的对象进行了描述,是进行综合抽象的结果。先声明类,再由类生成其对象。类是建立对象的“模板”,按照这个模板建立具体的对象。类只是在编译时存在,在程序中运行的是该类的对象。类不是函数的集合,因此将模板中的函数变成成员函数(对类的说明)而使其成为类是错误的。

7.三大特性

(1)封装性

抽象是对系统的简化描述或规范说明,强调了做什么,而忽略了如何做。数据的抽象是在确定类时强调对象的共同点而忽略它们不同点的结果。对象的封装是保护其内部的代码和数据,使其他对象不能直接修改。

例1:蟾蜍和青蛙根据其共同的主要特征,归为一个类:捉虫能手,而不去理会其次要的不同方向:严格来说不属于一个科

数据的封装是将数据的表示方式和对数据的操作细节隐藏起来,让用户通过操作接口对数据进行操作。

例2:有一个盒子,盒子上有一个按钮,上面写着:按一下盒子会发光。用户只需要通过按一下按钮(操作接口)对盒子(数据)进行操作,而不需要知道(也不会知道)为什么特定行为:按下这个按钮,会使盒子发光。

抽象先于封装。

例3(接例1):先说明了两种动物属于一个类,然后隐藏有关(不属于一个科的)信息,帮助维护类的完整性

(2)继承性

例:有三个类,A、B、C

特性1:共享

若类B继承类A,则属于类B中的对象具有类A的一切特征(包括数据属性和操作),此时被继承类A为基类(父类或超类),继承类B为类A的派生类(子类)

特性2:差别

若类B继承类A,则类B的特征由继承来的和新添加的两部分特征构成。

特性3:层次

若类B从类A派生出来,而类C又是从类B派生出来的,则类A是类B的直接基类,是C的间接基类。类C不但继承它的直接基类的所有特性,还继承它的所有间接基类的特征。

分类1:继承源上分为单继承和多继承

单继承是指每个派生类只直接继承了一个基类的特征。

多继承是指多个基类派生出一个派生类的继承关系。

分类2:继承内容上分为取代继承、包含继承、受限继承和特化继承

例:有类A和B,类B继承类A

取代继承:任何需要类A的地方都可以由类B来替代

包含继承:类B继承了类A的所有特征

受限继承:类B继承了类A的部分特征

特化继承:类B比类A有更多特征

(3)多态性

多态性是指不同的对象收到相同的消息时产生多种不同的行为方式。

C++语言支持编译时的(通过重载来实现)和运行时的(通过虚函数来实现)两种多态性。

重载类型1:函数重载

一个标识符可同时用于为多个函数命名

重载类型2:运算符重载

一个运算符可同时用于多种运算

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:14:33  更:2021-08-10 13:16:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 20:54:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码