C Sharp

  • class:構成程式的主體

  • namespace : 以樹型結構組織類,如Button類和Path類,可以有效避免有衝突的類。

  • using : 將namespace引用進來


  • 類別:物件的藍圖
    • Data Member : Fields , Properties
    • Method Member : Methods
      • Fields public int Hour;
      • Methods void Add(int x, int y);
      • Properties: public int Id {get; set;}
  • Static: 靜態類別不需要建立物件就可以使用類別名稱來存取和呼叫。 也就是不用new的意思

  • 存取修飾子
Access Level Describe
public 可以任意引用
private 只能在class內引用,可以被繼承
protected 只能在class內引用,不能被繼承
internal 不可被引用,繼承
  • Instances: 實體化(實例),將類別變的可被使用的狀態。
 Student s ;
 s = new Student();

Student s = new Student();


屬性

private int Hour ;
public int MyHour
{
    get
    {
        return Hour;
    }
    set
    {
        return
        {
            if (value < 0 || value > 23)
            Hour=-1;
            else Hour = value;
        }
    }
}
  • Accessors(存取器)
    • get: 取得欄位值
    • set: 指定欄位值,符合條件將欄位指定成value

唯讀屬性

public int Math {get;}

自動屬性 Automatic Property

public string Name {get; set;}


Constant

  • 常數:指欄位值不輕易改變。

const int pi = 3.14

  • readonly唯讀欄位
    private readonly DateTime Startup;
    public Manager()
    {
      Startup= DataTime.Now;
    }
    public DateTime GetStartUp()
    {
      return Startup;
    }
    

Constructor

  • 建構子(構造函數):建立物件時初始資料
  • 解構子(Destructors):釋放資源

new的時候,配置記憶體空間,初始化物件。


Partial Class

允許將同一個類別宣告多個分割檔案,在編譯時會將這個組合。

Structure

類似類別,只是不能被繼承。擁有建構子、屬性、欄位、方法

類別是一種參考型別:結構是一種實質型別。