C# 修饰符

一. 修饰符

1.用于类的修饰符

a)internal , 默认修饰符,指定为内部的,只在当前程序集中才能访问. 

class A
{

}
//类似于
internal class A
{

}

b)public , 公共类,其他程序集能够访问

c)sealed, 密封的,不允许被继承

d)abstract, 抽象类,不允许实例化,只能够继承,可以包含抽象成员.

e)partial ,局部类 可将其成员分成多个部分定义.

注:internal与public是一对互斥关系,sealed与abstract是一对互斥关系,两对之间可以互相组合.

2.用于接口的修饰符

a) internal ,默认修饰符, 只在当前程序集中才能访问

b) public ,程序集本身与其他程序集都能够访问

c) 接口中成员 , 不需要指定修饰符,默认为public

注:接口之间无法继承.

定义派生类时,如同时有基类和接口,则先写基类,再写接口,只能继承一个基类但可有多个接口

class Student:Person,IInterface1,IInterface2  {}

3.用于类成员(属性,字段,方法)的修饰符

a)public

b)private 默认值,只能本类中访问

c)internal 只能在程序集中访问

d)protected 只能在类或其派生类中访问

e)internal protected合用  本类中或派生类或同一程序集中访问.

//程序集1:
    public class A
    {
        protected internal void Print()
        {
            Console.WriteLine("Hello");
        }
    }
    class B
    {
        public void Test()
        {
            A a = new A();
            a.Print();              //正确,属于同一程序集
        }
    }
    class C:A
    {
        public void Test()
        {
            A a = new A();
            a.Print();              //正确,既属于同一程序集,又为它的派生类
        }
    }
//程序集2
    class D:A
    {
        public void Test()
        {
            Print();     //正确,派生类
        }
    }

4.其他修饰符

a) virtual 虚方法,派生类重写

b) abstract 抽象方法,必须重写,只能在抽象类中

c) override 对基类的方法重写

d) extern  用于声明在外部实现的方法。 extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与DllImport 特性一起使用。

在这种情况下,还必须将方法声明为 static,如下示例所示:

[DllImport("avifil32.dll")]
private static extern void AVIFileInit();

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值