C++ 面向对象三大特性:封装

21.面向对象三大特性:封装

21.1 什么是封装

前面我们在设计C++的类时,会把类的属性和类的函数以类成员的身份写在类的{ }中。反过来也可以说类能被拆解为两种基本要素:属性和函数。

在面向对象程序设计中封装就是把互相关联的数据和操作这些数据的函数写在同一个类中的意思。

 

我们可以从两个层面来理解封装:

一是类的封闭性。类的数据和功能函数被类的{ }封闭在类的作用域内,他们互相协作来执行特定的任务。类是独立存在的,一个类的存在不依赖于其他类是否存在。

二是类的开放性。在类的作用域内通过公开的访问标签(public: )把类的一些功能函数对外公开,以便在在外界需要使用这些功能的时候可以访问。

类只向外界提供公开函数的一些关键信息,比如函数的名字、需要的参数、返回值的类型。类不向外提供函数的实现细节。

 

举一个现实生活中的例子,比如个人电脑,任何人都可以打开和关闭电脑、播放视频、运行游戏,但是操作电脑的人却不需要懂电脑内部的工作原理。

再比如在 C++ 中,我们使用 cout 对象来输出数据到控制台,但是并不需要了解 cout 是如何将文本显示在屏幕上的。

C++ 中,我们使用访问标签 public:来定义类对外公开的接口有哪些。

 

访问标签在类中出现的次数并没有限制,每个访问标签指定了紧随其后的成员的访问级别。指定的访问级别会一直有效,直到遇到下一个访问标签或者直到类的结束。

在类中私有标签(private: )定义的成员外界是没有访问权限的,而且默认情况下类的成员都是私有的。类对外的接口数量应保持最少,一般类的数据成员都应该是私有的,但也可以通过函数对外提供一定的访问权限。

    原文作者:自由如风呼呼呼
    原文地址: https://blog.csdn.net/weixin_44363885/article/details/96149584
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞