zoukankan      html  css  js  c++  java
  • 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,不可以访问到

        }
    }

  • 相关阅读:
    [java学习]java聊天室通信原理
    竖变横表存储过程(万能型)
    到底是什么(反射,泛型,委托,泛型)
    删除表里重复记录两种方法
    三个SQL视图查出所有SQL Server数据库字典
    三种分页语句
    DBHelper
    SQL全局变量
    今天比较STRING和INT,很奇怪
    表之间数据交换与翻页存储过程
  • 原文地址:https://www.cnblogs.com/xingluzhe/p/4720091.html
Copyright © 2011-2022 走看看