当前位置: 代码迷 >> .NET Framework >> 基类的可访问性 比 子类的可访问性 低解决办法
  详细解决方案

基类的可访问性 比 子类的可访问性 低解决办法

热度:290   发布时间:2016-05-01 23:31:09.0
基类的可访问性 比 子类的可访问性 低
    internal class Parent { } //不想其他程序集知道
    public class Sub : Parent { }

错误 1 可访问性不一致: 基类“.Parent”比类“.Sub”的可访问性低


为什么这样不可以~
------解决思路----------------------
直接原因是编译器,为了遵循面向对象的几大原则
具体依赖于抽象,但抽象不应依赖具体,这样可以最大限度地保证抽象的稳定性,所以上层抽象的设计好坏对整个系统的影响是至关重要的
从“开闭原则”上讲,通过继承和多态,子类的修改会相对封闭,从而降低耦合

反过来讲,假如编译器不作这种限制,后期要扩展这个程序
试想下,假如你继承的类还有很多其他的子类,很可能就会导致臃肿蹩脚的设计出现
个人看法
------解决思路----------------------
不是因为在创建Sub实例的时候,会调用基类的构造方法吗?如果基类访问级别比Sub低的话,就可能会出现无法调用的结果,so 报错,个人观点
  相关解决方案