计算机程序设计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;

类的语法格式:

  • 先定义类的数据成员和函数成员
  • 再声明具体对象(变量)
  • 然后使用对象(变量)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uncle_ll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值