组织:访问权限

本文探讨了访问权限在编程中的重要性,对比了C、C#和Go语言的不同访问控制策略。强调了封装思想,指出访问权限是编译器规范而非语言规范的一部分。文中介绍了Go语言中通过名称首字母大小写来决定访问权限,并讨论了如何通过接口模式隐藏实现、封装调用以及初始化函数的使用。此外,还提到了内部包和外部依赖的管理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

访问权限

封装的思想就是把一些状态打包只看到该看到的东西。我们把程序分为不同的类型和包,就出现是否允许访问的问题,甚至出现在同一个命名空间是否允许访问的问题。

不同的语言对于访问权限做法不一样,C 语言没有访问权限的概念,所有的方法都可以通过头文件的符号访问。

访问权限控制是编译器的概念。编译器通过识别访问权限,决定代码调用是否合法,编译是否成功。因为语言访问权限和基于文件系统或者操作系统的访问权限不是一个概念。

访问权限是编译器制定的规范,不需要在代码里添加关键字,它不属于语言规范的范畴,而属于编译器实现的范畴。尽可能不要让语言变得臃肿,而通过改变编译器或者通过库的方式扩展一些新的功能。

成员:public、internal、protected、private

成员可能属于语言规范的一部分,也可能不是。

在 OOP 语言比较常见的保护方式,私有的表示外界不能访问,继承类型可以访问。比如内部定义的状态不能让用户访问,继承类型需要访问。

内部在 C# 语言表示程序集内可以访问,Go 语言表示包只允许被哪些范围内的包访问。

默认权限:public、private

默认权限常见的有公开的和私有的。公开的表示谁都能访问,私有的表示外界不能访问只能自己访问。

C 语言默认权限是公

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值