none or internal     类只能在当前的工程中访问

Public                    类可以在任何地方访问

abstract or internal abstract   类可以在当前的工程中访问,不能实例化,只能继承

Public abstract     类可以在任何地方访问,不能实例化,只能继承

sealed or internal sealed    类只能在当前的工程中访问,只能实例化,不能继承

Public sealed     类可以在任何地方访问,只能实例化,不能继承

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的几个修饰符的更多相关文章

  1. JAVA语言中的修饰符

    JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...

  2. Java类访问权限修饰符

    一.概要 通过了解Java4种修饰符访问权限,能够进一步完善程序类,合理规划权限的范围,这样才能减少漏洞.提高安全性.具备表达力便于使用. 二.权限表 修饰符 同一个类 同一个包 不同包的子类 不同包 ...

  3. iOS 方法修饰符

     一.NS_DESIGNATED_INITIALIZER 用来修饰init方法,被修饰的方法称为designated initializer:没有被这个修饰的init方法称为convenience i ...

  4. C#基础回顾(一)—C#访问修饰符

    一.写在前面的话 好久没有停下来总结自己,转眼间15年过去好些天,回首过去的日子,亦或失去,亦或所得!生活的节奏,常常让我们带着急急忙忙的节奏去追赶,也许这并不是每个人所期望的生活方式!于他人,于自己 ...

  5. 关于Java语言中那些修饰符

    一.在java中提供的一些修饰符,这些修饰符可以修饰类.变量和方法,在java中常见的修饰符有:abstract(抽象的).static(静态的).public(公共的).protected(受保护的 ...

  6. C#基础知识八之访问修饰符

    1.  类的访问修饰符 修饰符 访问权限 无或者internal 只能在同一个程序集中访问类 public 同一个程序集或引用该程序集的外部都可访问类 abstract或internal abstra ...

  7. java访问修饰符

    了解面向对象思想的同学们,都知道"封装"这一基本特征,如何正确运用访问修饰符,恰恰能体现出封装的好坏. java访问修饰符有四个: 1)public:访问权限最高,其修饰的类.类变 ...

  8. java静态修饰符static的使用

    class Person { private String name; private int age; /* * 假设每个Person对象的国籍都一样, * 那么每次调用都要赋值就会不合理. * 使 ...

  9. Scala访问修饰符(四)

    Scala 访问修饰符基本和Java的一样,分别有:private,protected,public. 如果没有指定访问修饰符符,默认情况下,Scala对象的访问级别都是 public. Scala ...

  10. Java 修饰符

    Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class classNam ...

随机推荐

  1. sql 查询每天数据

    一 表 内数据存的是 ‘2017-09-08 15:13:59’这样格式 表 customer_mate_follow 时间字段 created_at   1, SELECT ,) as day, C ...

  2. 洛谷P5022&P5049 旅行(及其数据加强版)

    旅行(不是加强版) 加强版 加强版数据范围: 我们注意到 也就是说要么是个树,要么是个基环树 60pts 这60分是个树,可以简单的贪心想到每次都走子树中编号最小的那个,并且把1作为根 dfs练手题 ...

  3. 2014过去了,正式步入职场了,.net

    一.第一家公司(北京XXXXXXX) 从2014年7月1号拿到学位证,到7月15号到北京,努力找工作,用了两个多礼拜,终于找到了一个只有三个人的公司,愿意要我,薪资是实习三千,转正四千. 2014年7 ...

  4. sql语句exists 用法

    参考:SQL语句exists用法,Sql语句中IN和exists的区别及应用 现在有三张表 学生表S: sno ,sname 课程表C:cno ,cname 学生选课表SC: sno ,cno 查询选 ...

  5. 【Bean】标签常用属性

    [Bean]标签常用属性 Id 说明:起名称,id属性值名称任意,不能包含特殊符号,根据id得到配置对象. Class 说明:创建对象所在类的全路径. Name 说明:功能和id是一样的,id属性值不 ...

  6. windows下简单安装postgres

    目前版本是PostgreSQL 9.6,它经过以下平台认证: 32位Windows Windows 7,8和10 Windows 2008 Server 64位Windows Windows 7,8和 ...

  7. Babel编译:类

    编译前 class Fruit{ static nutrition = "vitamin" static plant(){ console.log('种果树'); } name; ...

  8. HTML5——新表单元素 表单属性 语义元素

    表单元素 新的表单元素 datalist——输入域选项列表 keygen——提供一种验证用户的可靠方法 output——不同类型的输出,比如计算或脚本输出 表单属性 <form> / &l ...

  9. Linux基本服务

    一.Samba服务 1.下载samba yum install samba -y 2.配置samba文件 vim /etc/samba/smb.conf [ken]path = /test    #等 ...

  10. 安卓手机上传同一张图片第二次不触发onchange

    清空上一次file内部的值  <script type="text/javascript"> var file = document.getElementById(&q ...