doc: update docs/cs.md (#584)
This commit is contained in:
parent
1efbb7155b
commit
ea8d6b3391
71
docs/cs.md
71
docs/cs.md
@ -529,6 +529,77 @@ Console.WriteLine(b);
|
|||||||
// True
|
// True
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## 类
|
||||||
|
|
||||||
|
### 默认情况(默认情况即为内部类)
|
||||||
|
|
||||||
|
```
|
||||||
|
//下面两个类相同,默认情况下,类声明为内部类,即只能在当前项目中的代码才能访问它
|
||||||
|
class MyClass
|
||||||
|
{
|
||||||
|
...
|
||||||
|
}
|
||||||
|
internal class MyCalss
|
||||||
|
{
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 公共类
|
||||||
|
|
||||||
|
```
|
||||||
|
public class MyClass
|
||||||
|
{
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 抽象类与密封类
|
||||||
|
|
||||||
|
```
|
||||||
|
//抽象类(abstract)与密封类(sealed)为互斥关系,抽象类不能实例化,允许继承,可以有抽象成员,密封类不允许继承
|
||||||
|
//抽象类与密封类都可以声明为公共类(public)和内部类(internal)
|
||||||
|
public abstract class MyClass
|
||||||
|
{
|
||||||
|
...
|
||||||
|
}
|
||||||
|
public sealed class MyClass
|
||||||
|
{
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 继承
|
||||||
|
|
||||||
|
```
|
||||||
|
/*
|
||||||
|
注意,在C#的类定义中,只能有一个基类。如果继承了一个抽象类,就必须实现所继承的所有抽象成员(除非派生类也是抽象的)。
|
||||||
|
编译器不允许派生类的可访问性高于基类。也就是说,内部类可以继承于一个公共基类,但公共类不能继承于一个内部基类。因此,下述代码是合法的:
|
||||||
|
*/
|
||||||
|
public class MyBase
|
||||||
|
{
|
||||||
|
// Class members.
|
||||||
|
}
|
||||||
|
internal class MyClass : MyBase
|
||||||
|
{
|
||||||
|
// Class members.
|
||||||
|
}
|
||||||
|
//但下述代码不能编译:
|
||||||
|
internal class MyBase
|
||||||
|
{
|
||||||
|
// Class members.
|
||||||
|
}
|
||||||
|
public class MyClass : MyBase
|
||||||
|
{
|
||||||
|
// Class members.
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
如果没有使用基类,被定义的类就只继承于基类 System.Object(它在 C#中的别名是 object)。毕竟,在继承层次结构中,所有类的根都是 System.Object。
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
杂项
|
杂项
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user