# **類定義**
```
using System;//使用命名空間
namespace 空間的名稱A
{
class A{
}
class B{
}
}
namespace 空間的名稱B
{
class A{
}
class B{
}
}
```
~~~
<訪問標識符,默認internal> class 類名><:基類>
{
// 成員變量
<訪問標識符,默認private> <變量數據類型> variable1;
<訪問標識符,默認private> <變量數據類型> variable2;
...
<訪問標識符,默認private> <變量數據類型> variableN;
// 成員方法
<訪問標識符,默認private> <返回類型> method1(參數)
{
//code
}
<訪問標識符,默認private> <返回類型> method2(參數)
{
// code
}
...
<訪問標識符,默認private> <返回類型> methodN(參數)
{
// code
}
}
~~~
# **封裝**
* public:所有對象都可以訪問;
* private:對象本身在對象內部可以訪問;
* protected:只有該類對象及其子類對象可以訪問
* internal:同一個程序集的對象可以訪問;
* protected internal:訪問限于當前程序集或派生自包含類的類型。

**Internal 訪問修飾符**
**詳解**
Internal 訪問修飾符允許一個類將其成員變量和成員函數暴露給當前程序中的其他函數和對象。換句話說,帶有 internal 訪問修飾符的任何成員可以被定義在該成員所定義的應用程序內的任何類或方法訪問。
~~~
using System;
namespace RectangleApplication
{
class Rectangle
{
//成員變量
internal double length;
internal double width;
double GetArea()
{
return length * width;
}
public void Display()
{
Console.WriteLine("長度: {0}", length);
Console.WriteLine("寬度: {0}", width);
Console.WriteLine("面積: {0}", GetArea());
}
}//end class Rectangle
class ExecuteRectangle
{
static void Main(string[] args)
{
Rectangle r = new Rectangle();
r.length = 4.5;
r.width = 3.5;
r.Display();
Console.ReadLine();
}
}
}
~~~
**Protected Internal 訪問修飾符**
Protected Internal 訪問修飾符允許在本類,派生類或者包含該類的程序集中訪問。這也被用于實現繼承。
- Visual Studio 2022安裝到非C盤
- .net平臺區別
- 常用單詞
- 關鍵字
- 操作符(運算符)
- 標識符(命名規范)
- 開始
- 變量
- 常量
- 數據類型
- 值類型
- 變量數據類型
- 枚舉類型enum(常量集合)
- 結構類型struct(結構體)
- 元組類型
- 可null類型(T?)
- 引用類型
- 數組(array)
- 集合(List)
- 內置引用類型
- object
- string
- Dynamic(動態類型)
- delegate委托(代理)類型
- 自定義引用類型
- 接口(interface)
- 類class
- record(定義一個引用類型)
- 指針類型(僅用于非安全代碼)
- get和set訪問器
- delegate委托
- delegate實現發布訂閱與事件
- 類型轉換
- 合并操作符??
- 類相關
- Partial 部分類
- 類定義以及訪問修飾符(封裝)
- abstract抽象類與sealed密封類
- virtual虛方法
- 接口interface
- C# 預處理器指令
- C#技術棧
- 判斷(流程控制)與三元運算
- if
- switch
- 三元運算
- 循環
- while 循環
- for循環
- foreach循環
- do...while 循環
- 文件操作
- 其他
- 多開