类在声明同时可以包含声明继承关系
如何没有声明基类,则默认为从object继承
明确声明类时,需要描述类的各种约束
不可以直接派生的类
System.Array
System.Delegate
System.Enum
System.ValueType
派生类和父类可以有同样级别的访问修饰
类的默认声明是内部的,但可以显式声明
1
// 显示声明类为内部类
2
internal class WarehouseBase//仓库
3
{
4
5
}
6![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
//默认方式声明的类也是内部类
8
abstract class WarehouseBase//仓库
9
{
10
11
12
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
子类(即派生类)的访问修饰不能比基类(即父类)高
1
public abstract class WarehouseBase//仓库
2
{
3
4
5
}
6![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
//public->internal可以
8
internal class AutomaticWarehouse : WarehouseBase //自动化仓库
9
{
10![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
}
12![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
//internal->public不可以
15
//可访问性不一致: 基类“Space.AutomaticWarehouse”比类“Space.SolidWarehouse”的可访问性低
16
public class SolidWarehouse : AutomaticWarehouse//立体仓库
17
{
18
19
}
20![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
21![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
22
//public->public可以
23
public sealed class VirtualWarehouse : WarehouseBase //虚拟仓库
24
{
25![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
类不可以显式声明为 private、protected 或 protected internal
1
//错误
2
private abstract class WarehouseBase//仓库
3
{
4![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
}
7![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
//错误
9
protected class AutomaticWarehouse : WarehouseBase //自动化仓库
10
{
11![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
}
13![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
//错误
16
protected internal class SolidWarehouse : AutomaticWarehouse//立体仓库
17
{
18![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
但可以在类的内部显示的声明private、protected 或 protected internal
1
public class AutomaticWarehouse : WarehouseBase //自动化仓库
2
{
3
protected internal class SolidWarehouse : AutomaticWarehouse//立体仓库
4
{
5![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
}
7![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
private sealed class PlaneWarehouse : WarehouseBase //平面仓库
9
{
10![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
}
12![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
protected internal sealed class Stack : WarehouseBase
14
{
15![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
}
17
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)