Head First C# 中文版 图文皆译 第七章 接口和抽象类 page273

C#访问修饰符详解
本文详细介绍了C#中的访问修饰符,包括public、private、protected、internal和sealed的使用方式及区别。通过本文,读者可以了解到如何正确设置类成员的访问级别,以实现良好的封装。

不仅有public和private


你已经了解了private关键字的重要性,知道怎么使用它,知道了它和public的区别。C#把它们叫做访问修饰符。这样命名是很有道理的,因为你一旦改变了一个类的属性、字段、方法的访问修饰符,也就改变了别的类访问它们的方式。还有一些别的访问修饰符,我们从你已经知道的开始讲:


★public意味着大家都可以访问它


把一个类的成员声明为public也就意味着别的类的任何成员都可以访问它。Public的限制最小。你已经见过public会导致什么样的麻烦了--所以只有当你有确定的原因的时候才把成员声明为public吧。这样才可以保证良好的封装。


★private意味着只有本类的其他成员才可以访问


把一个成员声明为private就意味着该成员只可以被本类的其他成员或者本类的其他实例访问。把一个类声明为private就意味着它只可以被它所在的命名空间的其他类访问--除非它存在于其他类中,这种情况下它只可以被包含它的类访问。


★protected意味着对于子类是公开的,对于其他类是私有的


你已经知道子类不可以访问父类的私有字段了--要用base关键字才可以访问父类的公有成员。如果子类可以访问父类的私有成员岂不是很方便么?所以就有了protected关键字。标记为protected的成员可以被自己本类的和子类的成员访问。


★internal意味着只对本程序集的其他类开放


创建一个程序集的时候可以用internal关键字来使得类只可以在本程序集中访问,这样你就可以只对外暴露你想要暴露的类。


★sealed意味着本类不可以被继承


.NET框架中有很多类你不可以继承。试着去继承一下string类。怎么样?编译器会报错--“不可以从密封的类型“string”继承”。你也可以对自己写的类做这种限制,在个、访问修饰符后面写上sealed即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值