C#难点逐个击破(5):类的访问类型
更新时间:2010年02月04日 13:23:34 作者:
类的访问类型有时也叫访问级别,使用以下访问修改符:Public、Protected、Private、internal、protected internal。
讲这四类之间的区别时有必要讲解一个概念:程序集。程序集(Assembly),可以简单理解为编译之后生成的.dll或.exe文件,相对于namespace是类库的逻辑组织形式,它可以称为程序类库的物理组织形式,msdn上描述“程序集包含描述它们自己的内部版本号和它们包含的所有数据和对象类型的详细信息的元数据”。一般情况是一个程序集可以包含一个或者多个命名空间。
Public:对其他任何类的任何方法都是可见的;
Private:本类中定义的成员只有本类的方法才能访问;
Protected:本类中的成员只有本类的方法及继承本类的类的方法才能访问;
internal:本类中的成员只有本类所在的程序集中的任何类的方法访问;
protected internal:为protected与internal的并集。
因此从访问级别由高到低应当是Public>protected internal>internal>Protected>Private
类的默认修饰符为internal ,类中的成员变量默认修饰符为private,namespace可认为修饰符为public。另一点在msdn上也提到继承类的访问级别不能大于被继承类的访问级别,如internal的类不能继承private的类。
using System;
/******************************
* Chapter:C#难点逐个击破(五)
* Author:王洪剑
* Date:2010-1-15
* Blog:http://www.51obj.cn/
* Email:walkingp@126.com
* Description:访问修改符
* ***************************/
namespace TestMain
{
public class A
{
public void Alert()
{
}
}
internal class B:A
{
internal new void Alert()
{
Console.WriteLine("you");
}
}
class Program
{
static void Main()
{
B b=new B();
b.Alert();
}
}
}
Public:对其他任何类的任何方法都是可见的;
Private:本类中定义的成员只有本类的方法才能访问;
Protected:本类中的成员只有本类的方法及继承本类的类的方法才能访问;
internal:本类中的成员只有本类所在的程序集中的任何类的方法访问;
protected internal:为protected与internal的并集。
因此从访问级别由高到低应当是Public>protected internal>internal>Protected>Private
类的默认修饰符为internal ,类中的成员变量默认修饰符为private,namespace可认为修饰符为public。另一点在msdn上也提到继承类的访问级别不能大于被继承类的访问级别,如internal的类不能继承private的类。
复制代码 代码如下:
using System;
/******************************
* Chapter:C#难点逐个击破(五)
* Author:王洪剑
* Date:2010-1-15
* Blog:http://www.51obj.cn/
* Email:walkingp@126.com
* Description:访问修改符
* ***************************/
namespace TestMain
{
public class A
{
public void Alert()
{
}
}
internal class B:A
{
internal new void Alert()
{
Console.WriteLine("you");
}
}
class Program
{
static void Main()
{
B b=new B();
b.Alert();
}
}
}
相关文章
Unity性能优化Shader函数ShaderUtil.GetShaderGlobalKeywords用法示例
这篇文章主要为大家介绍了Unity性能优化Shader函数ShaderUtil.GetShaderGlobalKeywords用法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-09-09
最新评论