类和类的成员修饰符

上传人:kms****20 文档编号:39987495 上传时间:2018-05-21 格式:DOC 页数:4 大小:30.50KB
返回 下载 相关 举报
类和类的成员修饰符_第1页
第1页 / 共4页
类和类的成员修饰符_第2页
第2页 / 共4页
类和类的成员修饰符_第3页
第3页 / 共4页
类和类的成员修饰符_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《类和类的成员修饰符》由会员分享,可在线阅读,更多相关《类和类的成员修饰符(4页珍藏版)》请在金锄头文库上搜索。

1、类修饰符:public、internal、partial、abstract、sealed、static类的成员修符: public、protected、private、internal、sealed、abstract、virtual、override、read only、constPublic:最开放,所有的本程序集以及其他的程序集里面的对象都能够访问Protected:比较开放,自身成员以及子类成员可访问Private:只有自身成员才能够访问Internal:本程序集内的成员可以访问Partial:部分类,可以将一个类分成几部分写在不同文件中,最终编译时将合 并成一个文件,且各个部分不能分散

2、在不同程序集中Abstract:修饰类的时候表示该类为抽象类,不能够创建该类的实例。修饰方法 的时候表示该方法需要由子类来实现,如果子类没有实现该方法那么子类同样是抽象类;且含有抽象方法的类一 定是抽象类Sealed:修饰类时表示该类不能够被继承,修饰方法时表示该方法不能被覆写。Static:修饰类时表示该类时静态类,不能够实例化该类的对象,既然不能实例 化该类,那么这个类也就不能够含有对象成员,即该类所有成员为静态;修饰类成员时,该成员为类成员,只能 通过【类.成员名】的方式访问当 static 修饰构造函数时,构造函数不能含有任何参数,不能含有修饰符,构 造函数不能对对象成员进行初始化操作

3、。但是能够对静态成员进行初始化或者调用。不能保证他在什么时候执行, 却能保证在第一次使用类型前执行。在静态构造函数中初始化的静态成员为最终初始化结果。例如:public static int test = 0;static Person()test = 3;static void Main(string args)Console.WriteLine(Person.test);/运行结果为 3也就是说相当于:public static int test;static Person()test=3;Virtual:修饰方法成员,表示虚方法。父类可以含有该类的实现,子类可以覆 写该函数。Overri

4、de:表示该方法为覆写了父类的方法。Readonly:修饰字段,表示该字段为只读字段。注意:readonly 修饰引用类型时由于操作不当可能修改该只读对象状态。例如:Readonly List persons=.;我们可能在某些地方对 persons 进行了修改:persons.add(new Person();Const:修饰字段,表示该字段为只读字段。并且在编译时必须能够明确知道该 字段的值,其值是硬编码到程序中去的,修改了该类型成员后需要重新编译才能使修改生效。而 readonly 是运行时只读,内容在运行时确定,所以修改了 readonly 类型成员 后无需重新编译即可生效。Reado

5、nly 不能修饰局部变量,const 可以。注意:当一个类或方法没有被任何修饰符修饰时,默认为 internal: C#用多种修饰符来表达类的不同性质。根据其保护级 C#的类有五种不同的限制修饰符:public 可以被任意存取; protected 只可以被本类和其继承子类存取; internal 只可以被本组合体(Assembly)内所有的类存取,组合体是 C#语言中类被组合后 的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”。protected internal 唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些 类的继承子类所存取。 private 只

6、可以被本类所存取。 如果不是嵌套的类,命名空间或编译单元内的类只有 public 和 internal 两种修饰。new 修饰符只能用于嵌套的类,表示对继承父类同名类型的隐藏。abstract 用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化。 抽象类可以包含抽象的成员,但这并非必须。abstract 不能和 new 同时用。下面是抽象类用法的伪码:abstract class A public abstract void F(); abstract class B: A public void G() class C: B public override void F()

7、 /方法 F 的实现 抽象类 A 内含一个抽象方法 F(),它不能被实例化。类 B 继承自类 A,其内包含了一个实例 方法 G(),但并没有实现抽象方法 F(),所以仍然必须声明为抽象类。类 C 继承自类 B,实现类抽象方法 F(),于是可以 进行对象实例化。sealed 用来修饰类为密封类,阻止该类被继承。同时对一个类作 abstC#中类的默认访问修饰符是什么?这个要看类的位置,如果类,结构,代理,枚举是外置的,那修饰符只有:public 和 internal,默认是internal。至于 private 和 protected 是用来修饰类的成员。在外置 class 前面加 private,protected 根本不会通过编译,不信你试试?如果是内置的,就是作为另一个类型的成员,也称内部类型(inner type),这样的话,修饰符可以是全部可用修饰符,默认是 private。举例:class a 类 a 是 internalclass bclass a 类 a 是 private

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号