文章目录

  • 目录
    • 1.数据抽象
    • 2.数据封装
    • 3.抽象接口类

目录

1.数据抽象

数据抽象:就是把它当做黑箱子使用,内部实现与外部接口分开
C++类实现数据抽象,如sort()函数,ostream的cout对象

#include <iostream>
using namespace std;class Adder{public:// 构造函数Adder(int i = 0){total = i;}// 对外的接口void addNum(int number){total += number;}// 对外的接口int getTotal(){return total;};private:// 对外隐藏的数据int total;
};
int main( )
{Adder a;a.addNum(10);a.addNum(20);a.addNum(30);cout << "Total " << a.getTotal() <<endl;return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:
Total 60

2.数据封装

#include <iostream>
using namespace std;class Adder{public:// 构造函数Adder(int i = 0){total = i;}// 对外的接口void addNum(int number){total += number;}// 对外的接口int getTotal(){return total;};private:// 对外隐藏的数据int total;
};
int main( )
{Adder a;a.addNum(10);a.addNum(20);a.addNum(30);cout << "Total " << a.getTotal() <<endl;return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:
Total 60

3.抽象接口类

#include <iostream>using namespace std;// 基类
class Shape
{public:// 提供接口框架的纯虚函数virtual int getArea() = 0;void setWidth(int w){width = w;}void setHeight(int h){height = h;}
protected:int width;int height;
};// 派生类
class Rectangle: public Shape
{public:int getArea(){ return (width * height); }
};
class Triangle: public Shape
{public:int getArea(){ return (width * height)/2; }
};int main(void)
{Rectangle Rect;Triangle  Tri;Rect.setWidth(5);Rect.setHeight(7);// 输出对象的面积cout << "Total Rectangle area: " << Rect.getArea() << endl;Tri.setWidth(5);Tri.setHeight(7);// 输出对象的面积cout << "Total Triangle area: " << Tri.getArea() << endl; return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:
Total Rectangle area: 35
Total Triangle area: 17

c++基础学习(09)--(数据抽象、数据封装、接口)相关推荐

  1. Java基础学习(二十一)之接口

    1. 接口 1.1 接口概述 五孔插线面板,不同品牌都能使用,因为它们遵循同样的规范来生产的.所以说接口其实就是一种公共的规范,只要符合规范,大家都可以使用. 笔记本,USB口,鼠标,键盘,U盘 接口 ...

  2. Kotlin基础学习 09

    目录 1.Kotlin语中的Map的创建 2.Kotlin语中的读取Map的值 3.Kotlin语言遍历Map学习 4.Kotlin语言的可变Map集合学习 5.Kotlin语言定义类与field关键 ...

  3. 浅谈三个星期零基础入门学习Thinkphp5开发restful-api接口的心得和总结

    一丢丢心得体会: 首先不得不说一下,学习一门知识,真的就像建一栋高楼一样,地基必须的稳固,否则你辛辛苦苦建的楼可能随时会垮掉,这一点在我学习thinkphp5的路上深有体会,同时了自此我也爱上了写博客 ...

  4. Java基础学习之函数式编程Comsumer接口(JDK8)

    前言 从毕业到现在正好三年,高难度的项目做了不少,但是基础这个东西一段时间不接触就会忘得一干二净.话不多说,开始今天的学习! 1. Consumer接口 接触过"消费者",&quo ...

  5. 日语基础学习 Day 09

    日语基础学习 Day 09 1. とき.ながら.ている -とき 表示时间的名词短语,相当于・・・时,时候 暇なとき.私はスマホで動画をみます. 寒いとき.こたつを使います.(こたつ⇒被炉) 大学生のと ...

  6. 栈内存 ,堆内存区别 C++ 动态内存 == 与equal区别 复合函数奇偶性 三角函数转换公式: 虚函数和纯虚函数: C++ 中的运算符重载 数据封装,数据抽象 C++ 接口(抽象类

    目录 栈内存 ,堆内存区别 C++ 动态内存 == 与equal区别 复合函数奇偶性 三角函数转换公式: 虚函数和纯虚函数: C++ 中的运算符重载 数据封装,数据抽象 C++ 接口(抽象类): #和 ...

  7. 无线通信零基础学习记录(2)——GSM空中接口物理层的设计

    无线通信零基础学习记录(2)--GSM空中接口物理层的设计 本章解释清楚了之前未搞懂的名词,如时隙等,以及各种信道类型,在此一并总结. TDMA空中接口技术 时分多址(TDMA,Time Divisi ...

  8. 初学Java基础学习——抽象类和接口的区别

    初学Java基础学习--抽象类和接口的区别 一.关键字 1)抽象类的关键字 abstract class A{//定义一个抽象类: } class Test extends A{//子类使用exten ...

  9. 8. SpringBoot基础学习笔记

    SpringBoot基础学习笔记 课程前置知识说明 1 SpringBoot基础篇 1.1 快速上手SpringBoot SpringBoot入门程序制作 1.2 SpringBoot简介 1.2.1 ...

  10. 尚学堂JAVA基础学习笔记_2/2

    尚学堂JAVA基础学习笔记_2/2 文章目录 尚学堂JAVA基础学习笔记_2/2 写在前面 第10章 IO技术 1. IO入门 2. IO的API 3. 装饰流 4. IO实战 5. CommonsI ...

最新文章

  1. insert批量插入500ms_如何快速安全的插入千万条数据
  2. 模拟简单计算器及比较大小
  3. Spark使用总结与分享
  4. 三星的typec可以充MacBook
  5. 涨知识 | 100个中国最难读的地名,第一个就折了
  6. mysql 学生成绩等级_JSP+SSM+Mysql实现的学生成绩管理系统
  7. C语言二维数组 int arr[2][3]
  8. 未来码农或可以备份一个自己的大脑
  9. java编写一个移动物体_java编写一个可以上下移动的小球:运行后,可以通过上下左右键进行移动...
  10. SQL Server中删除重复数据的几个方法
  11. 计算机动画制作过程原理,计算机制作动画的基本原理及运动规律.ppt
  12. 斐波那契 —— 矩阵形式推导
  13. Centos6.5 邮件服务
  14. 支付1000元咨询费,如何让PB编写的程序不能被反编译?
  15. 如何禁止计算机自动安装驱动,禁止自动安装显卡驱动-怎样禁止系统自动安装显卡驱动?系统是Gho – 手机爱问...
  16. 项目部署发布CruiseControl工具介绍
  17. 19.Linux中字符处理sort和uniq命令详解
  18. 图解快速排序(C++实现)
  19. 网易云服务器使用https
  20. 【C++】在 Visual Studio 调试器中指定符号 (.pdb) 和源文件(转载自RSS翻译)

热门文章

  1. 如何在WINCE中添加WebServer组件
  2. html中怎么写jq,用jQuery替换HTML页面中的文本
  3. 【转】C++中如何区分构造函数与重载operator()得到的仿函数?
  4. 【转】PF_RING开发指南
  5. 【转】由投影重建图像:滤波反投影、FDK、TFDK三维重建算法理论基础
  6. word2003如何设置护眼模式_手机屏幕的护眼模式是如何保护你的眼睛?
  7. java为什么不使用odbc_java jdbc和odbc的区别是什么?jdbc和odbc的关系是怎样的?
  8. 【HDU - 1080】Human Gene Functions(dp,可编辑距离类问题)
  9. 【牛客 - 185B】路径数量(离散数学,长度为k的路径数量,图)
  10. 【HDU - 2072 】单词数(字符串读入技巧,sstream大法,水题,字符串读入格式)