类的继承关系声明和访问修饰

类在声明同时可以包含声明继承关系
如何没有声明基类,则默认为从object继承
明确声明类时,需要描述类的各种约束
不可以直接派生的类
System.Array
System.Delegate
System.Enum
System.ValueType


派生类和父类可以有同样级别的访问修饰

类的默认声明是内部的,但可以显式声明

 1 None.gif      //  显示声明类为内部类
 2 None.gif      internal   class  WarehouseBase // 仓库
 3 ExpandedBlockStart.gifContractedBlock.gif      dot.gif
 4InBlock.gif    
 5ExpandedBlockEnd.gif    }

 6 None.gif
 7 None.gif     // 默认方式声明的类也是内部类
 8 None.gif      abstract   class  WarehouseBase // 仓库
 9 ExpandedBlockStart.gifContractedBlock.gif      dot.gif {
10InBlock.gif       
11InBlock.gif        
12ExpandedBlockEnd.gif    }

子类(即派生类)的访问修饰不能比基类(即父类)高

 1 None.gif      public   abstract   class  WarehouseBase // 仓库
 2 ExpandedBlockStart.gifContractedBlock.gif      dot.gif {
 3InBlock.gif       
 4InBlock.gif        
 5ExpandedBlockEnd.gif    }

 6 None.gif
 7 None.gif     // public->internal可以
 8 None.gif      internal   class  AutomaticWarehouse : WarehouseBase  // 自动化仓库 
 9 ExpandedBlockStart.gifContractedBlock.gif      dot.gif {
10InBlock.gif
11ExpandedBlockEnd.gif    }

12 None.gif
13 None.gif
14 None.gif     // internal->public不可以
15 None.gif     // 可访问性不一致: 基类“Space.AutomaticWarehouse”比类“Space.SolidWarehouse”的可访问性低
16 None.gif      public   class  SolidWarehouse : AutomaticWarehouse // 立体仓库
17 ExpandedBlockStart.gifContractedBlock.gif      dot.gif
18InBlock.gif    
19ExpandedBlockEnd.gif    }

20 None.gif
21 None.gif
22 None.gif     // public->public可以
23 None.gif      public   sealed   class  VirtualWarehouse : WarehouseBase   // 虚拟仓库 
24 ExpandedBlockStart.gifContractedBlock.gif      dot.gif {
25InBlock.gif
26ExpandedBlockEnd.gif    }


类不可以显式声明为 private、protected 或 protected internal

 1 None.gif      // 错误
 2 None.gif      private   abstract   class  WarehouseBase // 仓库
 3 ExpandedBlockStart.gifContractedBlock.gif      dot.gif {
 4InBlock.gif
 5InBlock.gif
 6ExpandedBlockEnd.gif    }

 7 None.gif
 8 None.gif     // 错误
 9 None.gif      protected   class  AutomaticWarehouse : WarehouseBase  // 自动化仓库 
10 ExpandedBlockStart.gifContractedBlock.gif      dot.gif {
11InBlock.gif
12ExpandedBlockEnd.gif    }

13 None.gif
14 None.gif
15 None.gif     // 错误
16 None.gif      protected   internal   class  SolidWarehouse : AutomaticWarehouse // 立体仓库
17 ExpandedBlockStart.gifContractedBlock.gif      dot.gif {
18InBlock.gif
19ExpandedBlockEnd.gif    }

但可以在类的内部显示的声明private、protected 或 protected internal

 1 None.gif      public   class  AutomaticWarehouse : WarehouseBase  // 自动化仓库 
 2 ExpandedBlockStart.gifContractedBlock.gif      dot.gif {
 3InBlock.gif        protected internal class SolidWarehouse : AutomaticWarehouse//立体仓库
 4ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
 5InBlock.gif
 6ExpandedSubBlockEnd.gif        }

 7InBlock.gif
 8InBlock.gif        private sealed class PlaneWarehouse : WarehouseBase  //平面仓库 
 9ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
10InBlock.gif
11ExpandedSubBlockEnd.gif        }

12InBlock.gif
13InBlock.gif        protected internal sealed class Stack : WarehouseBase
14ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
15InBlock.gif
16ExpandedSubBlockEnd.gif        }

17ExpandedBlockEnd.gif    }

 

 

转载于:https://www.cnblogs.com/shyleoking/archive/2007/02/02/638099.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值