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++ 9-1:数据的抽象与封装 -> 正文阅读

[C++知识库]计算机程序设计c++ 9-1:数据的抽象与封装

实体

实体:指客观世界存在的某个事物

  • 某动物,例如:一只羊
  • 一本图书,例如:《C++程序设计教程》
  • 一篇文章,例如:“趣赏羊联”
  • 一个专业班级,例如:材料21班
  • ……

实体的描述

  • 可以拍摄视频描述实体
  • 可以写一篇文章描述实体
  • 我们设计的程序都是为了求解某个(些)问题

通过对实体进行抽象,来描述实体

实体的抽象

每个实体都有其特征功能,特征和功能通称为属性
实体与实体的不同在于属性的不同

  • 所谓抽象描述实体是指:
    • 从实体中抽取出若干特征和功能,来表示实体
  • 特征指实体的静态属性,功能指实体的动态属性
    对实体加以抽象要注意下面两点:
  • 移出细节看主干
  • 不是借助具体形象反映现实,而是以抽象表达科学的真实
    在这里插入图片描述

毕加索的画经过11次迭代后,变得非常抽象

  • 比如抽象描述电视机
    在这里插入图片描述

  • 比如抽象描述学生
    在这里插入图片描述

抽象描述实体的结果不唯一

实体的抽象描述因人而异

  • 有些人抽象描述地较为完善、详细
  • 有些人抽象描述地较为简单、粗糙

无论怎样抽象描述实体,都要尽可能抽象分析出主要特征与功能

  • 特征和功能密切相关、相互依赖,不能割裂
  • 当然有些实体只有静态属性而无动态属性,如兵马俑等

对象

对象指被抽象描述的某个实体

  • 一个对象包含了实体的特征和功能
  • 对象=实体的特征+实体的功能
  • 对象=数据+函数
  • 将数据和函数当作一个统一体

类:具有相同特征和功能的对象集合

  • 所有红旗轿车→红旗轿车类
  • 所有公元日期→日期类
    ?整数集合→整数类
    对象是类的一个实例或个体或元素
  • int k; k称为整数变量,又称整数对象
  • struct date today; today称日期结构体变量,又称日期对象

将实体转化为程序中的数据(类型)

  • C++程序中有四种基本数据类型:字符、整数、浮点、双精度类型
  • 当程序中涉及到的实体不能直接描述为基本数据类型时,只有描述成新的数据(类型)
  • 类是相同属性的对象集合,其中某个对象的特征和功能就是类的特征和功能
  • 学生(数据)类(型)的特征和功能
    • 特征:姓名、性别、年龄、学号、成绩、身高……
    • 功能:上课、跑步、听、说、读、写、……
  • 轿车(数据)类(型)的特征和功能
    • 特征:型号、颜色、价格、出厂日期、轮子直径……
    • 功能:运动、鸣笛、加油、倒车、…

类与结构体

将数据和函数当作一个统一体——类

  • 类是对客观世界万物的抽象描述
  • 结构体是复合数据的统一体

结构体与类的区别

  • 结构体只有数据成员,没有函数成员
  • 结构体又称为特殊的类
  • 现在结构体中也可以包括函数成员
  • 类的语法格式与结构体相似
// 先定义结构体
struct date
{
	int year, month, day;
};

// 再声明结构体变量(对象)
date mybirthday;

// 然后引用结构体变量(对象)
mybirthday.year=1989;
mybirthday.month=10;
mybirthday.day=18;

类的语法格式:

  • 先定义类的数据成员和函数成员
  • 再声明具体对象(变量)
  • 然后使用对象(变量)
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 18:39:12  更:2021-11-16 18:40:05 
 
开发: 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年11日历 -2024/11/24 6:54:26-

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