A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王志远 中级黑马   /  2013-9-30 13:27  /  2325 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王志远 于 2013-9-30 15:00 编辑

请问C#中的访修饰符以及他们的访问权限?internal和protected的访问权限谁大?还有在类中没有public的话默认为哪个修饰符,是private还是internal?
请教给位大神,先谢谢了!


评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

5 个回复

倒序浏览
C#中有4个访问修饰符(5个访问修饰级别):

public:访问不受限制。


protected:访问仅限于包含类或从包含类派生的类型。


Internal:访问仅限于当前程序集。


protected internal:访问仅限于当前程序集或从包含类派生的类型。(就是protected和internal集合的并集)


private:访问仅限于包含类型。



在类这个级别(命名空间内)不写访问修饰符,默认为Internal。



在类成员中(类方法外)不写访问修饰符,默认的访问修饰符为private


评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
段朝骞 发表于 2013-9-30 13:38
C#中有4个访问修饰符(5个访问修饰级别):

public:访问不受限制。

谢谢了!另外internal和protected的访问权限能比较么?
回复 使用道具 举报
王志远 发表于 2013-9-30 13:51
谢谢了!另外internal和protected的访问权限能比较么?

这两个都有各自的访问域
internal可以访问整个程序集
protect仅限于类中和继承类中
这两个不存在包含和被包含关系
回复 使用道具 举报
段朝骞 发表于 2013-9-30 13:55
这两个都有各自的访问域
internal可以访问整个程序集
protect仅限于类中和继承类中

了解了!谢谢!
回复 使用道具 举报
private:私有的  (只能在当前类内部访问)
protected:受保护的(只能在类内部以及所有子类内部访问)
internal:只能在当前程序集内部访问
protected internal :在类内部以及所有子类内部可以访问,也可在当前程序集内访问
public:公共的  (在任何地方都可以访问)
protected与internal没有可比性。protected是在当前类内部写,所有子类都可以访问。而internal是在同一个程序集中可以访问。

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马