类的三大特性——>封装

目录

理论知识

数据抽象:

封装:

细节知识

访问控制与封装

访问控制

STL使用封装


理论知识

类的基本思想是数据抽象、和封装

数据抽象:

是一种依赖接口实现分离的一种编程技术:

接口:包括用户所能执行的操作。

实现:包括类的数据成员,负责外界的接口函数,以及接口函数所需要的类私有函数。

封装:

封装实现了类的接口与实现的分离。封装后的类隐藏了实现细节,也就是说,使用类的用户只能使用接口,而无法访问接口实现细节,对类做了一个很好的保护。

细节知识

访问控制与封装

我们希望我们的类的数据不被随意的修改,那么我们需要对数据进行一种访问控制,保护类数据在类域外无法被随意修改。

访问控制

首先我们先:class关键字声明的类,默认内部数据与成员函数为私有访问,类内的一切都无法被外界使用访问。而struct关键字声明的类,默认内部数据与成员函数为共有访问,在任何地方都可以随意访问修改。

public:公有访问       private:私有访问     protected:保护访问

公有访问:下的数据以及函数可以被外界任何地方访问

私有访问:下的数据以及函数不可以被外界任何地方访问

保护访问:下的数据以及函数不可以被访问,但是在派生类中可以被访问。

STL使用封装

STL就是对类封装的体现,尤其是适配器,对封装做了更好的使用,使用其他的类作为自己的自变量成员,只取访问自变量成员的接口,不去关心他的底层实现逻辑。

//自己实现的stack适配器
namespace zjy
{
	template <class T, class Continer = std::vector<T>>
	class stack
	{
	public:
		void push(const T& x)
		{
			_con.push_back(x);
		}
		void pop()
		{
			_con.pop_back();
		}
		const T& top()const
		{
			return _con.pop_back();
		}

		T& top()
		{
			return _con.back();
		}
		bool empty()
		{
			return _con.empty();
		}
		size_t size()
		{
			return _con.size();
		}
	private:
		Continer _con;
	};
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云的小站

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

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

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

打赏作者

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

抵扣说明:

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

余额充值