publicclass
vehicle
//////
這不符合開閉原則
/// ///
public
void run(string
type)
else
if (type == "
truck")}}
public
class
truck:vehicle
}public
class
car:vehicle
}
publicclass
vehicle
public
virtual
void
run()
}public
class
truck:vehicle
}public
class
car:vehicle
}
但是我們發現vehicle這個類永遠不會去呼叫run這個方法因為不符合邏輯也很模糊
abstractpublic
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修飾 抽象方法在乙個類中,這個類必須是抽象類 抽象方法沒有方法體 抽象...