类声明的全貌

C#类声明的位置

  1. using System;
  2. namespace HelloClass
  3. {
  4. class Program
  5. {
  6. static void Main(string[] args)
  7. {
  8. ···
  9. }
  10. // 3.program类中的成员类
  11. // 声明在类体重的成员类在学习时并不常见,但在实际项目操作中较为常见。
  12. class Student
  13. {
  14. ···
  15. }
  16. }
  17. }
  18. namespace MyNS
  19. {
  20. // 1.在namespace中声明类
  21. class Teacher
  22. {
  23. ···
  24. }
  25. }
  26. // 2.声明在namespace之外
  27. // 实际上是存储在 namespace Global中,
  28. // 该情况只会存在在实验、示例当中,实际操作、工作中不会出现该情况。
  29. class Computer
  30. {
  31. ···
  32. }

声明既定义(C#与Java)

C++ 里面类的声明和定义默认是分开的(推荐),也可以手动写到一起。
C# Java 中声明即定义。

最简单的类声明

Class declarations
A class-declaration is a type-declaration that declares a new class.
class-declaration:
attributesopt class-modifiersopt partialopt class identifier type-parameter-list opt
class-baseopt type-parameter-constraints-clausesopt class-body;opt

即使是Micosoft的 ASP.NET Core 这么大的项目里面也没有特别复杂的类声明。

类的访问控制

class 前面没有任何修饰符等于加了 internal。

  • internal:仅在自身程序集(Assembly)里面可以访问
  • public:从 Assembly 暴露出去 ```csharp using System;

namespace Mylib.MyNameSpace { // public修饰符会将class暴露出去,使得其他可以引用class // 当且仅当private在其他类的成员时,可以使用private class // internal可以在项目当中自由访问,及限制在Assembly中。 // 且internal是默认情况下存在,即缺省情况下为internal。 internal class Calculater
{ private double Add(double a,double b) { return a + b; } } } ```

Code Snippet

  1. F12:跳至类定义
  2. Ctrl + - (减号):跳回至之前所在位置