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#的访问修饰符

  • 2012年11月10日 20:20
  • 24KB
  • 下载

Java VS C# 访问修饰符

  • 2010年10月24日 17:05
  • 41KB
  • 下载

Kotlin Reference (八) 可见性修饰符, data class,object Claz

KotLin 相关文档官方在线Reference kotlin-docs.pdf Kotlin for android Developers 中文翻译 Kotlin开发工具集成,相关平台支持指...

C#访问修饰符的简介

  • 2012年11月17日 20:53
  • 57KB
  • 下载

C#修饰符介绍

  • 2014年12月30日 20:44
  • 16KB
  • 下载

Java中关于final修饰符的几个知识点

final修饰符在java中经常使用,今天我就将使用final修饰符的点记录一下,一来给自己总结,二来也帮助需要的人 final首先是java中的一个关键字,能够修饰变量,方法以及类 当用final修...

C#修饰符

  • 2013年11月11日 20:30
  • 42KB
  • 下载

C#类修饰符大全

  • 2012年09月11日 19:42
  • 35KB
  • 下载

比较Java和C++的几个修饰符

同样是支持面向对象的设计语言,Java和C++的一些修饰符都有共通的地方,但是由于设计理念的不同,这些修饰符也没有完全一样的。 abstract修饰符: Java中的abstract修饰符...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#的Class的几个修饰符
举报原因:
原因补充:

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