doc: update docs/cs.md (#584)

This commit is contained in:
LesterChang0987 2024-03-26 20:38:18 +08:00 committed by GitHub
parent 1efbb7155b
commit ea8d6b3391
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -529,6 +529,77 @@ Console.WriteLine(b);
// 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。
*/
```
杂项
-----------