C# public、protected、private、internal...访问修饰符介绍

什么是访问修饰符?

所有类型和类型成员都具有可访问性级别。 该级别可以控制是否可以从你的程序集或其他程序集中的其他代码中使用它们。 程序集是通过在单个编译中编译一个或多个 .cs 文件而创建的 .dll 或 .exe。—官方介绍

简单来说你定义一个类(Class),你可以给这个类设置访问权限,来规定哪些可以访问哪些不可以访问。如果还听不懂那么我们举例说明:我自己花钱盖了一个图书馆,因为是我建造的,我有权力规定都谁可以使用。(图书馆相当于你定义的一个类)

  1. public:说我热爱公益,大公无私不管是谁,都可以来我建造的图书馆看书、学习。没有限制谁都可以来;
  2. private:说这个图书馆就是留着我自己一个人看的,除了我不管是谁都不可以用。限制了除了我任何人不准使用,私人私有的;
  3. protected:说我建造的图书馆是为了给我的家人用的,我的孩子们都可以使用。只有是继承我的可以使用,相当C#派生类。
  4. internal:说我建个图书馆,但是这个图书馆建在我们小区,只有我们小区的人可以使用,不管有没有关系。如果其他小区一律不可以使用。小区相当于一个程序集。

实际使用方法

public class School
{
    public void StudentCount() { }
}
public class BaseClass
{
    private protected int myValue = 0;
}

public class DerivedClass1 : BaseClass
{
    void Access()
    {
        var baseObject = new BaseClass();

        // Error CS1540, because myValue can only be accessed by
        // classes derived from BaseClass.
        // baseObject.myValue = 5;

        // OK, accessed through the current derived class instance
        myValue = 5;
    }
}

官方图表解释

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值