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

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


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

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

1类的继承关系声明和访问修饰 // 显示声明类为内部类
2类的继承关系声明和访问修饰 internal class WarehouseBase//仓库
3类的继承关系声明和访问修饰 
4类的继承关系声明和访问修饰 
5类的继承关系声明和访问修饰 }

6类的继承关系声明和访问修饰
7类的继承关系声明和访问修饰 //默认方式声明的类也是内部类
8类的继承关系声明和访问修饰 abstract class WarehouseBase//仓库
9类的继承关系声明和访问修饰 {
10类的继承关系声明和访问修饰 
11类的继承关系声明和访问修饰 
12类的继承关系声明和访问修饰 }

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

1类的继承关系声明和访问修饰 public abstract class WarehouseBase//仓库
2类的继承关系声明和访问修饰 {
3类的继承关系声明和访问修饰 
4类的继承关系声明和访问修饰 
5类的继承关系声明和访问修饰 }

6类的继承关系声明和访问修饰
7类的继承关系声明和访问修饰 //public->internal可以
8类的继承关系声明和访问修饰 internal class AutomaticWarehouse : WarehouseBase //自动化仓库 
9类的继承关系声明和访问修饰 {
10类的继承关系声明和访问修饰
11类的继承关系声明和访问修饰 }

12类的继承关系声明和访问修饰
13类的继承关系声明和访问修饰
14类的继承关系声明和访问修饰 //internal->public不可以
15类的继承关系声明和访问修饰 //可访问性不一致: 基类“Space.AutomaticWarehouse”比类“Space.SolidWarehouse”的可访问性低
16类的继承关系声明和访问修饰 public class SolidWarehouse : AutomaticWarehouse//立体仓库
17类的继承关系声明和访问修饰 
18类的继承关系声明和访问修饰 
19类的继承关系声明和访问修饰 }

20类的继承关系声明和访问修饰
21类的继承关系声明和访问修饰
22类的继承关系声明和访问修饰 //public->public可以
23类的继承关系声明和访问修饰 public sealed class VirtualWarehouse : WarehouseBase //虚拟仓库 
24类的继承关系声明和访问修饰 {
25类的继承关系声明和访问修饰
26类的继承关系声明和访问修饰 }


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

 

1类的继承关系声明和访问修饰 //错误
2类的继承关系声明和访问修饰 private abstract class WarehouseBase//仓库
3类的继承关系声明和访问修饰 {
4类的继承关系声明和访问修饰
5类的继承关系声明和访问修饰
6类的继承关系声明和访问修饰 }

7类的继承关系声明和访问修饰
8类的继承关系声明和访问修饰 //错误
9类的继承关系声明和访问修饰 protected class AutomaticWarehouse : WarehouseBase //自动化仓库 
10类的继承关系声明和访问修饰 {
11类的继承关系声明和访问修饰
12类的继承关系声明和访问修饰 }

13类的继承关系声明和访问修饰
14类的继承关系声明和访问修饰
15类的继承关系声明和访问修饰 //错误
16类的继承关系声明和访问修饰 protected internal class SolidWarehouse : AutomaticWarehouse//立体仓库
17类的继承关系声明和访问修饰 {
18类的继承关系声明和访问修饰
19类的继承关系声明和访问修饰 }

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

1类的继承关系声明和访问修饰 public class AutomaticWarehouse : WarehouseBase //自动化仓库 
2类的继承关系声明和访问修饰 {
3类的继承关系声明和访问修饰 protected internal class SolidWarehouse : AutomaticWarehouse//立体仓库
4类的继承关系声明和访问修饰 {
5类的继承关系声明和访问修饰
6类的继承关系声明和访问修饰 }

7类的继承关系声明和访问修饰
8类的继承关系声明和访问修饰 private sealed class PlaneWarehouse : WarehouseBase //平面仓库 
9类的继承关系声明和访问修饰 {
10类的继承关系声明和访问修饰
11类的继承关系声明和访问修饰 }

12类的继承关系声明和访问修饰
13类的继承关系声明和访问修饰 protected internal sealed class Stack : WarehouseBase
14类的继承关系声明和访问修饰 {
15类的继承关系声明和访问修饰
16类的继承关系声明和访问修饰 }

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

 


本文转自shyleoking 51CTO博客,原文链接:http://blog.51cto.com/shyleoking/806298


上一篇:sizeof()的使用及各种数据类型的字节大小


下一篇:添加对system.management.automation.dll的引用