C#的Class的几个修饰符

转载 2017年01月03日 10:19:48
1、用于关键字class的修饰符
1)internal 默认修饰符,指定类为内部的,只有当前工程中的代码才能访问它
2)public 指定类为公共的,其它工程中的代码也可以访问它
3)abstract 指定类为抽象的,不能实例化,只能继承,可以有抽象成员
4)sealed 密封的,不能继承
其中,internal和public是一对互斥关系,abstract和sealed是一对互斥关系,两对之间可以互相搭配使用。
默认类定义如下:
class A{}即相当于internal class A{},internal通常是省略的。
 
2、用于关键字interface的修饰符
1)public和private 这对访问修饰符和关键字class的定义是一样的,由于接口的公共特性通常使用public
2)abstract和sealed 这对修饰符不能在接口中使用,因为它们对接口毫无意义
 
当定义派生类时,如果同时有基类和接口,那么先写基类再写接口,用逗号分开,只能继承一个基类但可以有多个接口,如:
class DerivedClass:BaseClass,IInterface1,IInterface2
{}
接口定义和继承如下:
public interface IMyInterface:IInterface1,IInterface2
{}
 
3 、用于类成员(包括字段、属性、方法)的修饰符
1)public--成员可以由任何代码访问
2)private--成员只能由本类中的代码访问(默认值)
3)internal--成员只能由定义它的工程(装配件)内部的代码访问
4)protected--成员只能由类或派生类中的代码访问
最后两个关键字可以合并使用,即protected internal,只能由工程(装配件)中类和派生类的代码访问。此外与以上关键字并行的还有static,表示类的静态成员,而不是类的实例成员。字段还可以定义为realonly,只能在定义时或构造函数中赋值并赋值后不可更改。
 
4、类方法还有另外的关键字定义
1)virtual--方法可以重写
2)abstract--方法必须重写(只用于抽象类中,如果类方法定义了abstract则class也必须追加abstract)
3)override--方法重载了一个基类方法(如果方法被重载则必须使用该关键字)
4)extern--方法定义在其他地方
另:派生类的类方法还可以使用new来隐藏基类方法;通过this指向当前类实例引用,通过base关键字指向基类实例引用。

C#的Class的几个修饰符

C#的Class的几个修饰符 none or internal     类只能在当前的工程中访问 Public                    类可以在任何地方访问 abstract ...
  • binbingg
  • binbingg
  • 2013年07月31日 09:49
  • 421

C# 中方法、类的默认修饰符

C# 方法默认访问级别 : private  C# 类默认访问级别 : internal  C# 方法默认访问级别 : private C# 类默认访问级别 : internal 1.命名空...
  • qq_27361571
  • qq_27361571
  • 2016年03月15日 17:10
  • 3376

python 如何用修饰符打造一个单例

python的官方wiki给出了一个用修饰符实现的单例,如下:def singleton(cls): instance = cls() instance.__call__ = lamb...
  • zqxnum1
  • zqxnum1
  • 2016年08月23日 15:48
  • 402

学习C#修饰符:类修饰符和成员修饰符

学习C#修饰符:类修饰符和成员修饰符 C#修饰符之类修饰符:public、internal、 partial、abstract、sealed、static ...
  • KingSea168
  • KingSea168
  • 2015年09月09日 14:38
  • 781

C#中默认访问修饰符

如果被问到C#中默认的访问修饰符是什么?你该怎么回答,是不是感觉不太
  • T_27080901
  • T_27080901
  • 2014年04月07日 16:12
  • 1176

C# 中的访问修饰符和声明修饰符

访问修饰符(是添加到类、结构或成员声明的关键字)   Public:公有的,是类型和类型成员的访问修饰符。对其访问没有限制。  Internal:内部的,是类型和类型成员的访问修饰符。同一个程序集中的...
  • clb929
  • clb929
  • 2016年09月23日 17:12
  • 444

C# 中的四种访问修饰符

C# 中的四种访问修饰符 :属性修饰符: Serializable:按值将对象封送到远程服务器。 STATread:是单线程套间的意思,是一种线程模型。 MATAThread:是多线程套间的意思,也是...
  • yu__jiaoshou
  • yu__jiaoshou
  • 2017年03月24日 15:57
  • 248

python @修饰符

Python 除了拥有实例方法外,还拥有静态方法和类方法,跟Java相比需要理解这个类方法的含义。 class Foo(object):      def test(self)://定义了实...
  • jincm13
  • jincm13
  • 2014年08月27日 09:14
  • 929

c#五种访问修饰符作用范围

C#中五种访问修饰符作用范围 public、private、protected、internal、protected internal...
  • huwei2003
  • huwei2003
  • 2016年05月24日 21:34
  • 3216

关于Java中各种修饰符与访问修饰符的说明

类: 访问修饰符  修饰符  class 类名称 extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换) 访问修饰符 ...
  • qq_17614015
  • qq_17614015
  • 2016年05月30日 16:46
  • 480
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#的Class的几个修饰符
举报原因:
原因补充:

(最多只允许输入30个字)