C# 物件導向說明

      在〈C# 物件導向說明〉中尚無留言

C# 物件導向說明

類別宣告

class Pokemon
{
    public float w, h;
    public Pokemon()
    {
    }
}

物件變數存取權限
public : 可由其他類別及物件存取
private : 僅允許自身類別存取

建構子
需為public, 才可由其他類別new 出物件. 若為private , 則為singletone的設計模式
若無自訂建構子, 編譯器會自動加上預設建構子
若加入自訂建構子, 編譯器不會自動加上預設建構子

建構子覆寫

建構子覆寫後, 需要由A建構子呼叫B建構子, 則是於A建構子後面加上 “:” , 如下所示

class Pokemon
{
    float w, h;
    public Pokemon() : this (10.0f, 0.1f)
    {
        Console.WriteLine("原始 Pokemon 出生了");
    }
    public Pokemon(float w, float h)
    {
        Console.WriteLine("自訂 Pokemon 出生了");
        this.w = w;
        this.h = h;
   }
}

類別繼承

類別繼承, 於class後面加上 “:”, 如下所示

class Pokemon
{
    public float w, h;
}
class Pikachu : Pokemon{}
}
class Eve : Pokemon{}

此時的Pikachu及 Eve都會繼承了Pokemon的w, h物件變數

繼承後的存取修飾子

private : 只允許在同類別內存取
protected : 類別及子類別有效, 不同namespace之子類別也有效. 但同namespace內, 物件無效
internal : 同namespace有效
protected internal : 同namespace及不同namespace之子類別有效
public : 全部都有效

permission

繼承後之建構子

在下述之程式碼中, 執行new Pikachu()後,竟會出現
Pokemon出生
皮卡丘出生

🔒 底下內容僅限會員閱讀。

立即登入

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *