首页 > 编程语言 >c#的修饰符顺序以及修饰符说明,访问权限

c#的修饰符顺序以及修饰符说明,访问权限

时间:2023-08-08 10:37:55浏览次数:66  
标签:c# 成员 修饰符 protected internal 权限 存取 public


声明类的顺序:



访问修饰符+类修饰符 +class+类名


例:


public class Class1{}
internal sealed class Class2:Class1{}声明成员(方法或者参数)的顺序:访问修饰符+成员修饰符 +值类型+类名例: public   override int AA() public new  int AA(int x) public new static int a = 5; public static int a=0;
修饰符说明:访问修饰符:

public:存取不受限制。

private:只有包含该成员的类可以存取。

internal:只有当前工程可以存取。

protected:只有包含该成员的类以及派生类可以存取。


类修饰符:

abstract:抽象类。指示一个类只能作为其它类的基类。

sealed:密封类。指示一个类不能被继承。理所当然,密封类不能同时又是抽象类,因为抽象总是希望被继承的。


成员修饰符:

abstract:指示该方法或属性没有实现。

sealed:密封方法。可以防止在派生类中对该方法的override(重载)。不是类的每个成员方法都可以作为密封方法密封方法,必须对基类的虚方法进行重载,提供具体的实现方法。所以,在方法的声明中,sealed修饰符总是和override修饰符同时使用。

delegate:委托。用来定义一个函数指针。C#中的事件驱动是基于delegate + event的。

const:指定该成员的值只读不允许修改。

event:声明一个事件。

extern:指示方法在外部实现。

override:重写。对由基类继承成员的新实现。

readonly:指示一个域只能在声明时以及相同类的内部被赋值。

static:指示一个成员属于类型本身,而不是属于特定的对象。即在定义后可不经实例化,就可使用。

virtual:指示一个方法或存取器的实现可以在继承类中被覆盖。

new:在派生类中隐藏指定的基类成员,从而实现重写的功能。 若要隐藏继承类的成员,请使用相同名称在派生类中声明该成员,并用 new 修饰符修饰它。

访问权限:
public:存取不受限制。private:只有包含该成员的类可以存取。internal:只有当前工程可以存取。protected:只有包含该成员的类以及派生类可以存取。需要注明的是:
    
    
protected的权限和private的权限很相似,唯一不同的是protected类型成员可以被子类继承,而private类型成员不可以被继承。
 
protected    internal类型成员可以被理解成protected   or   internal    类型成员。不存在protected   and   internal类型成员。

参考资料:

http://zhidao.baidu.com/question/382323839.html




标签:c#,成员,修饰符,protected,internal,权限,存取,public
From: https://blog.51cto.com/u_16218512/7005035

相关文章

  • select 选取数据0和1,布尔型的显示为是或否
    sql语句中,有一个字段是布尔型,但是我想通过select查出来,显示的不是0或者1,而显示是或者否selectdecode(字段,1,'是',0,'否')asvaluefromtable或select(case字段when1then'是'when0then'否'end)asvaluefromtable......
  • Java读取Excel中的合并单元格
    1、 Maven仓库下载导入在pom.xml中配置maven路径,指定依赖,如下:<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.1</version></dependency><dependency><groupId>......
  • c#多线程并发执行一个操作函数
    有时候我们进行很多的数据对比运算时,单线程的程序显得很慢,这个时候可以用多线程并发运行:intmaxThread=10;//10个并发线程intcurrTNum=0;WaitHandle[]whs=newWaitHandle[maxThread];//WaitHanle类MSDN上的定义:封装了......
  • c#文件流读写
    读写的完整流程例子可参考:stream简单读写excel写文件:stringdemo="写入txt中";StreamWriterdemo_log=null;demo_log=File.CreateText("demo_log.txt");demo_log.WriteLine(demo,Encoding.GetEncoding("gb2312"));demo_log.Close();写后......
  • 易基因:m5C RNA甲基转移酶及其在癌症中的潜在作用机制|深度综述
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。近年来,5-甲基胞嘧啶(m5C)RNA修饰已成为通过编码和非编码RNA调控RNA代谢和功能的关键参与者。越来越多的证据表明,m5C可以调控RNA稳定性、翻译、转录、出核和切割,以及介导细胞增殖、分化、凋亡、应激反应和其他生物学功能......
  • FinClip 支持小程序维度域名配置;桌面端体验活动进行中
    FinClip的使命是使您(业务专家和开发人员)能够通过小程序解决关键业务流程挑战,并完成数字化转型的相关操作。不妨让我们看看在本月的产品与市场发布亮点,看看是否有助于您实现目标。产品方面的相关动向......
  • 【HMS Core】Health Kit 血压、血糖等数据返回数据包含max,min,avg,last 数据,这些数据
    【问题描述】1. 血压、血糖等数据返回数据包含max,min,avg,last数据,这些数据的含义是什么意思?2. 如何获取用户上传健康数据的腕表的型号【解决方案】1、血压原子采样统计数据类型开放的是多日统计查询接口,统计的维度是按照自然日进行统计的。最大最小以及平均值是指这一天的最大......
  • No input file specified. thinkphp 高版本正则重写问题
    Noinputfilespecified.问题描述:使用TP框架做项目时,在启用REWRITE的伪静态功能的时候,首页可以访问,但是访问其它页面的时候,就提示:“Noinputfilespecified.”原因在于使用的PHP5.6是fast_cgi模式,而在某些情况下,不能正确识别path_info所造成的错误默认的.htaccess里面的规则:......
  • Siemens 西门子博途、经典wincc、经典SETP7的区别
    博途软件介绍:博途软件是西门子在2010年11月23日发布的一个野心勃勃的、号称“全集成自动化(TIA=TotalIntegratedAutomation,全集成自动化)”的软件系统,西门子声称该产品是业内首个采用统一工程组态和软件项目环境的自动化软件,使用户能够快速、直观地开发和调试自动化系......
  • c#操作mongodb防止重复插入
    原理:把可以唯一标识的字段提出来放在字符串列中,当字符串不包含要插入的数据时再进行数据操作MongoClientclient;MongoServerserver;MongoDatabasedatabase;client=newMongoClient("mongodb://192.168.0.4");serv......