访问修饰符(public,private,protected,internal,sealed,abstract)
为了控件C#中的对象的访问权限,定义对象时可以在前面添加修饰符.
修饰符有五种:private(私有的),protected(受保护的),internal(程序集内部的),public(公开的),以及protectde internal(只有本程序内或者继承于该类的类型可以访问).
可以使用修饰符的对象:namespace(命名空间),class(类),struct(结构),enum(枚举),interface(接口),delegate(委托),function(函数),变量
1.public:
访问不受限制.是权限最多的一个修饰符.namespace和enum成员,interface的成员隐式的具有public修饰符.不能再显式添加其修饰符.
2.private:
只有同一个class或struct中能被访问.class或truct中的成员如果不加修饰符则默认是private
3.protected:
访问仅限于当前class或继承的class.比如在一个class Student中声明一个函数protected int Add(){ };在则只能在Student中用Add,或者在继承于Student的子类中用base.Add()来用num.但实例化class得到的对象不能用Add.比如Student s = new Student(); s.Add();这样是错误的.(注意:声明class,struct前是不能加protected修饰的.只能用public 或internal)
4.internal:
仅限于当前程序集.即同一个project中.
class或struct,interface如果不加修饰符则默认是internal.但也可以显示声明为internal或public(注:如果class,struct是在一个class中声明的也可以protected,private修饰.也就是说一个class中还可以嵌套的声明一个class)
5.protected internal:
同一程序集或继承的子类可访问.其实相当于是protected 和internal两个权限累加到一起了.(注意,由于struct是不能继承的,所以它的成员也不能由protected或protected internal修饰.
注意:派生的class可访问性不能比基类更高.也就是说如果基类被internal修饰则子类只能用internal修饰.如果基类都public修饰子类可用internal也可用public.
除了权限修饰符外还有四个修饰符sealed,abstract,virtual,partial(这四个修饰符可以和上面五个权限修饰符一起用.写在权限修饰符前面或后面都行)
sealed只能用来修饰class,表示class不能被继承.
abstract可用来修饰class和class中的成员.但必须是class被abstract修饰了,成员才能被abstract修饰.它表示此class是抽象类,不能实例化,必须被继承并重写抽象函数
virtual只能用来修饰class中的函数,表明是虚函数,虚函数除了可以被重写外其他时候跟一般函数一样.虚函数重不重写是可选的,不是必须的
partial
通过使用关键字partial可以把一个class分开来写,可以在一个project中的不同文件中.在一个class特别大,由几个人合作写时这功能特别有用.
REFERENCE FROM : http://blog.csdn.net/weiwenhp/article/details/6968868
访问修饰符(public,private,protected,internal,sealed,abstract)的更多相关文章
- C#访问修饰符(public,private,protected,internal,sealed,abstract)
为了控件C#中的对象的访问权限,定义对象时可以在前面添加修饰符. 修饰符有五种:private(私有的),protected(受保护的),internal(程序集内部的),public(公开的),以及 ...
- 深入浅出OOP(五): C#访问修饰符(Public/Private/Protected/Internal/Sealed/Constants)
访问修饰符(或者叫访问控制符)是面向对象语言的特性之一,用于对类.类成员函数.类成员变量进行访问控制.同时,访问控制符也是语法保留关键字,用于封装组件. Public, Private, Protec ...
- 访问修饰符public,private,protected,以及不写(默认)时的区别?
private: 1.在当前类开发中,main方法之外可以直接借助名字使用,当前类的main方法中可以使用对象打点的方式直接使用成员. 2.在当前类之外,使用对象(或是类名,针对静态的)打点调用都是被 ...
- 访问修饰符 public,private,protected,以及不写(默认) 时的区别?
修饰符 当前类 同 包 子 类 其他包 public √ √ √ √ protecte d √ √ √ × default √ √ × × private √ × × × 类的成员不写访问修饰时默认为 ...
- 访问修饰符 public private protected default
- 12、类成员访问修饰符public/private/producted/readonly
1.private 类的私有成员 private 类的私有成员,只能在内部访问,在外部访问不到,无法被继承,我们可以将不需要被外部修改的定义为私有的 私有成员,只能在内部访问,在外部访问不到 priv ...
- 关于Java的权限修饰符(public,private,protected,默认friendly)
以前对访问修饰符总是模棱两可,让自己仔细解释也是经常说不很清楚.这次要彻底的搞清楚. 现在总结如下: 一.概括总结 各个访问修饰符对不同包及其子类,非子类的访问权限 Java访问权限修饰符包含四个:p ...
- 2018/03/10 每日一学PHP 之 修饰符 public/private/protected
对于面向对象 修饰符的使用是我们最常用,也是很容易忽略的小细节. 对于编程来说,把握好每一个小细节,就能构造出漂亮,优雅的程序. public 使用最多的修饰符,公共方法,允许所有访问,就像一个公交车 ...
- Java修饰符 public、protected、default、private
2.访问修饰符public,private,protected,以及不写(默认)时的区别?答: 修饰符 当前类 同 包 子 类 其他包 public √ √ √ √ protected √ √ √ × ...
随机推荐
- [转]Oracle 修改或者删除临时表 ORA-14452: 试图创建, 更改或删除正在使用的临时表中的索引
本文转自:http://blog.csdn.net/treasurelifelhf/article/details/7290729 由于存储过程出现问题,导致前台页面无法显示数据.执行存储过程发现临时 ...
- .Net程序员之Python基础教程学习----判断条件与循环[Fourth Day]
今天学习Python的判断条件与循环操作. 一. 布尔变量: 在学习判断条件之前必须的了解bool变量,在Python中bool变量与C语言比较类似,与.net差别比较大,其中下面集中情况需要 ...
- MMORPG大型游戏设计与开发(客户端架构 part7 of vegine)
我在讲述某个东西的时候总喜欢从简单的入手,然后从互相关联的地方联合讲解,因为时间关系所以没能讲的十分详细,这点引以为憾,希望得到大家的谅解.这一节讲述的是微引擎(vengine)比较简单的一个模块,那 ...
- CSS Sprite雪碧图应用
在写网页过程中,会遇到这种需要使用多个小图标: 如上图中的「女装」文字左边的图标.容易想到的解决方法是为每张图片加入<img>标签,但这样做会增加HTTP请求数量,影响网站加载速度.比这更 ...
- POJ 2826 An Easy Problem?! --计算几何,叉积
题意: 在墙上钉两块木板,问能装多少水.即两条线段所夹的中间开口向上的面积(到短板的水平线截止) 解法: 如图: 先看是否相交,不相交肯定不行,然后就要求出P与A,B / C,D中谁形成的向量是指向上 ...
- 第16章 调色板管理器_16.4 一个DIB位图库的实现(2)
//接上一篇 //DibPal.h /*----------------------------------------------------------------- DIBPAL.H heade ...
- idea常用快捷键
十大Intellij IDEA快捷键 2015-01-16 21:31 122307人阅读 评论(38) 收藏 举报 本文章已收录于: .embody { padding: 10px 10px 10p ...
- Eclipse cpp 开发 include路径
- 配置Tomcat使用Redis作为session管理
1. 在 tomcat/lib 中增加以下jar包 commons-pool2-.jar jedis-.jar tomcat-redis-session-manager-.jar 2. 修改tomca ...
- Resting state brain networks derived from spatial ICA - an individual case
Reference: Xin D, Biswal B B. Dynamic brain functional connectivity modulated by resting-state netwo ...