抽象類和開閉原則

2022-02-22 07:49:49 字數 893 閱讀 6181

public

class

vehicle

//////

這不符合開閉原則

/// ///

public

void run(string

type)

else

if (type == "

truck")}}

public

class

truck:vehicle

}public

class

car:vehicle

}

public

class

vehicle

public

virtual

void

run()

}public

class

truck:vehicle

}public

class

car:vehicle

}

但是我們發現vehicle這個類永遠不會去呼叫run這個方法因為不符合邏輯也很模糊

abstract

public

class

vehicle

public

abstract

void

run();

}public

class

truck : vehicle

}public

class

car : vehicle

}public

class

racecar : vehicle

}

新增賽車類不會修改原本的類,之需要修改原本的類就可以了

抽象方法和抽象類

思想 利用通用介面建立的一種基本形式,以此表示所有匯出類的共同部分 概念 1 抽象方法 僅有宣告,沒有方法體 2 抽象類 含抽象方法的類 要點 抽象類可以不含抽象方法 抽象類不能被例項化 不能使用 new 關鍵字 子類繼承抽象父類而不提供方法定義,則子類也必須為抽象類 抽象類可以包含屬性 方法 構造...

抽象方法和抽象類

1.什麼是抽象方法 定義 乙個方法如果沒有方法體 乙個方法不使用 直接使用分號結束的方法,才是沒有方法體的方法 則這個方法就是抽象方法 一 宣告乙個方法,不適用 而直接分號結束 二 如果是抽象方法,必須使用 abstract 抽象關鍵字來修飾 三 不是抽象類,不可以使用抽象方法 2.什麼是抽象類 一...

抽象類和抽象函式

抽象類和抽象函式 類是抽象的,物件是具體的 比類更抽象的是抽象類 抽象方法 定義 只有函式的定義,沒有函式體 函式體即是 的函式稱為抽象函式 例 abstract void fun 抽象方法特點 抽象方法和抽象類用abstract修飾 抽象方法在乙個類中,這個類必須是抽象類 抽象方法沒有方法體 抽象...