• public, protected, private, internal, protected internal简析


    public是可访问权限最高的,比如姓名,每个人都可以知道别人的姓名,这个不是什么秘密

    protected的访问权限要低些,只有子类才可以访问得到父类的protected属性。就好像老子的财产只有儿子才能继承。如果别人想要问:hey, son.财产=多少?儿子会拒绝,因为son的财产是从father那里继承来的,不可外泄。

    private的访问权限最低了,只有本人才能知道。比如某人的银行卡密码。只有他自己类内部的方法才能访问到这个属性。

    internal的访问权限仅限于同一程序集内部。什么叫同一程序集呢?也就是在同一个类库(dll)里,类的internal属性跟public属性一样,谁都可以访问。

    protected internal的访问权限是protected与internal的并集。意思是说,对于隶属于同一个程序集的其他类,可以像internal属性一样访问他,对于不同程序集的类,只有继承了我这个类的类才能访问到这个属性。注:protected 与 internal的顺序不重要。

    举个栗子吧:

    程序集1:

    public class A

    {

        protected internal string x="X";

    }

    public class D

    {

      public string func()
         {

        A a = new A();

        return a.x;//OK,可以正确访问到

      }

    }

    程序集2:引用程序集1的dll

    public class B:A

    {

        public string func()

        {

        return x;//OK,可以正确访问到

        }
    }

    public class C

    {

        public string func()

        {

        A a= new A();

        //return a.x;//No,不可以访问到

        }
    }

  • 相关阅读:
    JavaScript 格式化数字
    浅析C#中单点登录的原理和使用
    从银行转账失败到分布式事务:总结与思考
    计算机网络资料
    阿里巴巴Java开发规约插件p3c详细教程及使用感受
    程序员如何打造属于自己的云笔记服务
    sql server2016里面的json功能
    mac pro 开启三只滑动选中文本
    技术网站
    idea gradle项目导入
  • 原文地址:https://www.cnblogs.com/xingluzhe/p/4720091.html
Copyright © 2020-2023  润新知