zoukankan      html  css  js  c++  java
  • C#中 protected internal 和 internal 的区别

    http://kudick.blog.163.com/blog/static/1666066320091055414453/   DoDo:

    protected: 爷爷有一张银行卡,爸爸可以用,儿子也可以用,隔壁老王不可以用(因为老王跟爷爷没有继承关系)

    internal: 王总有一张银行卡,秘书可以用,经理可以用,王总儿子不可以用(因为银行卡属于公家财务,只能由公司内部人员【同一个程序集】使用,王总儿子虽然继承王总,但是他不是公司内部人员,所以也不能公款私用)

    PS: 如果各个程序集使用了相同的强命名,那么internal也可以在不同的程序集下使用,就比如上面的internal例子,

    王总有一张银行卡(而且还有一本存折【存折相当于强命名】),同时王总的儿子也有一本存折【一样的强命名】,那么王总的儿子也可以使用了,隔壁老王也有同样的存折【强命名】所以他也可以取钱!!

        private<protected/internal<public 这个很明显了。 关键是protected和internal的问题。   protected限定的是只有在继承的子类中才可以访问,可以跨程序集           internal限定的是只有在同一个程序集中才可以访问,可以跨类    所以它们是有点交叉的。 当一个CLASS是ITERNAL的时候,要求其所有的成员的限定范围不能大于internal。 所以,当一个INTERNAL的CLASS写PROTECTED的时候,就需要两个限定符了: internal   protected 这样,限定了访问范围是:本程序集、继承的子类。 因此,关系是: private<internal   protected<internal/protected<public internal和protected的具体范围大小就不能准确的界顶了。
  • 相关阅读:
    perl 升级到5.20版本
    perl 升级到5.20版本
    Group Commit of Binary Log
    Group Commit of Binary Log
    docker exec 运行命令
    docker exec 运行命令
    mysql timestamp 值不合法问题
    mysql timestamp 值不合法问题
    ulimit 说明
    /etc/security/limits.conf 配置
  • 原文地址:https://www.cnblogs.com/adodo1/p/4327581.html
Copyright © 2011-2022 走看看