C++中封装与信息隐藏的详解及其作用介绍

 更新时间:2021年09月07日 14:52:09   作者:我是小白呀  
这篇文章主要介绍了C++中封装与信息隐藏的详解及其作用介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

概述

封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念. 这样能避免受到外界干扰和误用.

在这里插入图片描述

数据隐藏包括数据封装和数据抽象两部分. 数据封装是一种把数据和操作数据的函数捆绑在一起的机制. 数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制.

在这里插入图片描述

类的公用接口

C++ 通过类来实现封装性, 把数据和与这些数据有关的操作封装在一个类中. 在声明了一个类以后, 用户主要是通过调用公用的成员函数来实现类提供的功能, 称为消息传递.

公用成员函数是用户使用类的公用接口 (public interface), 或者说是类的对外接口. 在类外不能直接访问私有数据成员, 但可以通过调用公用成员函数来引用甚至修改私有数据成员.

在这里插入图片描述

类的私有实现

用户不必关系这些功能实现的细节, 而只需要知道调用哪个函数会得到什么结果, 实现什么功能即可. 通过成员函数对数据成员进行操作称为类的实现. 实现的细节对用户是隐蔽的. (信息隐藏)

类中被操作的数据是私有的, 实现的细节对用户是隐蔽的. 这称为私有实现. (private implementation)

在这里插入图片描述

类的公用接口与私有实现的分离形成了信息隐蔽. 将接口与实现分离是软件工程的一个最基本的原则.

优点:

  1. 如果想扩充累的功能, 只需要修改本类中有关的数据成员和它有关的成员函数. 程序中类外的部分可以不必修改
  2. 如果在编译时发现类中的数据读写有错, 不必检查整个程序. 只需检查本类中访问这些数据的少数成员函数

方法与消息

方法 (method) 指类的成员函数在面向对象程序理论中被称为方法, 是指对数据的操作. 一个 “方法” 对应一种操作. 只有被声明为公用的方法才能被外界所激活.

消息指对公用函数的调用. 外界是通过发 “消息” 来激活有关方法的. 调用对象的成员函数, 就是向对象发出的一个 “消息”. 通知它执行其中的方法.

面向对象的特点:

  1. 封装性: 各个对象间相对独立
  2. 抽象性: 类是对象的抽象, 对象是类的实例
  3. 继承性: 解决重用问题
  4. 多态性: 由继承产生的相关的不同的类. 其对象对同一消息会做出不同的响应

到此这篇关于C++中封装与信息隐藏的详解及其作用介绍的文章就介绍到这了,更多相关C++ 封装 信息隐藏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言实现ATM系统程序的完整代码

    C语言实现ATM系统程序的完整代码

    这篇文章主要介绍了C语言实现ATM系统程序的完整代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • Pipes实现LeetCode(194.转置文件)

    Pipes实现LeetCode(194.转置文件)

    这篇文章主要介绍了Pipes实现LeetCode(194.转置文件),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C语言项目小学生数学考试系统参考

    C语言项目小学生数学考试系统参考

    今天小编就为大家分享一篇关于C语言项目小学生数学考试系统参考,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • C++关键字thread_local学习笔记

    C++关键字thread_local学习笔记

    这篇文章主要为大家介绍了C++关键字thread_local学习笔记,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 基于c++强制类型转换的(总结)详解

    基于c++强制类型转换的(总结)详解

    本篇文章对C++中的强制类型转换进行了详细的分析介绍。需要的朋友参考下
    2013-05-05
  • C语言关于时间复杂度详解

    C语言关于时间复杂度详解

    大家好,本篇文章主要讲的是C语言关于时间复杂度详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • 总结C语言中const关键字的使用

    总结C语言中const关键字的使用

    一起虽然学过c语言,但是并没有写过太多的代码,最近想要拾起c语言,就写了一些代码,但是对const关键字比较陌生,这里总结一下,方法自己和大家有需要的时候参考借鉴,下面跟着小编一起学习学习吧。
    2016-11-11
  • C++数位DP复杂度统计数字问题示例详解

    C++数位DP复杂度统计数字问题示例详解

    这篇文章主要为大家介绍了利用C++数位DP的复杂度来统计数字问题的示例实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升值加薪
    2021-11-11
  • C++ 情怀游戏扫雷的实现流程详解

    C++ 情怀游戏扫雷的实现流程详解

    扫雷是电脑上很经典很经典的传统老游戏,从小编第一次摸到计算机开始就玩过扫雷,虽然当时并不理解玩法原理,但终是第一次玩电脑游戏,下面来从扫雷的前世今生讲起
    2021-11-11
  • C++中fstream,ifstream及ofstream用法浅析

    C++中fstream,ifstream及ofstream用法浅析

    这篇文章主要介绍了C++中fstream,ifstream及ofstream用法,适合C++初学者学习文件流的操作,需要的朋友可以参考下
    2014-08-08

最新评论