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

本文介绍在面向对象编程中,类的声明方式及其继承规则。包括默认的内部访问级别、派生类与基类的访问级别限制,以及不可派生的特殊类等。同时强调了类声明时的一些限制条件。

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


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

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

1None.gif//显示声明类为内部类
2None.gifinternalclassWarehouseBase//仓库
3ExpandedBlockStart.gifContractedBlock.gifdot.gif{
4InBlock.gif
5ExpandedBlockEnd.gif}

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

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

1None.gifpublicabstractclassWarehouseBase//仓库
2ExpandedBlockStart.gifContractedBlock.gifdot.gif{
3InBlock.gif
4InBlock.gif
5ExpandedBlockEnd.gif}

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

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

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


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

1None.gif//错误
2None.gifprivateabstractclassWarehouseBase//仓库
3ExpandedBlockStart.gifContractedBlock.gifdot.gif{
4InBlock.gif
5InBlock.gif
6ExpandedBlockEnd.gif}

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

13None.gif
14None.gif
15None.gif//错误
16None.gifprotectedinternalclassSolidWarehouse:AutomaticWarehouse//立体仓库
17ExpandedBlockStart.gifContractedBlock.gifdot.gif{
18InBlock.gif
19ExpandedBlockEnd.gif}

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

1None.gifpublicclassAutomaticWarehouse:WarehouseBase//自动化仓库
2ExpandedBlockStart.gifContractedBlock.gifdot.gif{
3InBlock.gifprotectedinternalclassSolidWarehouse:AutomaticWarehouse//立体仓库
4ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
5InBlock.gif
6ExpandedSubBlockEnd.gif}

7InBlock.gif
8InBlock.gifprivatesealedclassPlaneWarehouse:WarehouseBase//平面仓库
9ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
10InBlock.gif
11ExpandedSubBlockEnd.gif}

12InBlock.gif
13InBlock.gifprotectedinternalsealedclassStack:WarehouseBase
14ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
15InBlock.gif
16ExpandedSubBlockEnd.gif}

17ExpandedBlockEnd.gif}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值