类的封装--- 2021.10.19

本文详细解析C++类的封装概念,探讨公有、私有和保护权限的作用,以及如何通过实例演示如何控制数据访问。通过实例代码学习如何实现封装以提升代码组织和安全性。

封装是什么?

我们都知道C++有三大特性,分别是继承、多态和封装。至于继承和多态我会在之后的文章中进行讲述,在本讲中我们只讲类的封装。在上一讲中,我们论述了类是什么,那么我们思考下封装又是什么呢?

首先封装是把属性(变量)方法(函数) 封装到类内,然后给这些数据赋予权限。

我们可以想象下,在类中有我们定义的变量,也有我们定义的函数,并且每个变量和每个函数都会有其权限,决定与类外是否可以成功调用该变量和该函数。

权限又分为三种权限状态,分别是公有私有保护权限。顾名思义,公有即类外可以访问,私有即类外不能访问,保护即类外不能访问。但是我们需要注意一点,在类内这些私有、公有和保护权限都失效,即在类内是可以相互调用的,没有权限之分。为了更让大家清楚上述封装的意义在哪,我们开始跟着代码进行分析:

class Maker
{
public://公有权限
	void set(string Name,int Id)
	{
		id = Id;
		name = Name;
	}
	void printMaker()
	{
		cout << "id=" << id << " name=" << name << endl;
	}
private://私有
	int id;
	string name;

protected://保护
	int a;
};

int main()
{
	Maker m;
	m.set("馨怡",1);
	m.printMaker();
}

我们还是按照老样子对代码进行逐句分析:
首先我们创建了一个类,即自定义了一个数据类型为Maker,同时我们在主函数中用Maker修饰了一个变量,即对象为m

在类Maker中我们使用了三种权限,分别是公有、私有和保护。

公有:创建了两个函数,分别是将入口参数通过set函数传给定义好的IDname、打印IDname

私有:定义了两个变量,数据类型为int类型的IDstring类型的name。特别注意:我们尽量把属性设置为私有权限,这样可以控制属性的读写权限,可以赋予客户端访问数据的一致性,可以保护属性的合法性。

保护:定义了一个数据类型为int类型的变量a

代码最终运行结果如下:

在这里插入图片描述

结束语

如果觉得这篇文章还不错的话,记得点赞 ,支持下!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值