• 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,不可以访问到

        }
    }

  • 相关阅读:
    Nginx的proxy_cache缓存
    linux服务器优化
    LVS+keepalived负载均衡实战
    bash history(history命令)
    APACHE默认模块功能说明
    MySQL配置文件例子翻译
    Microsoft JET Database Engine (0x80004005) 未指定的错误的完美解决[转贴]
    entity framework 新增 修改 删除 查询
    Flash Builder 找不到所需的 Adobe Flash Player 调试器版本
    sql server 2008 远程连接
  • 原文地址:https://www.cnblogs.com/xingluzhe/p/4720091.html
Copyright © 2020-2023  润新知