C# 一些 concept

C# class

new Method: 用在 derived class 中,指明該 method 會 hide 掉 base class 中相同的 method

new public void Func1() { ...; }

virtual Method: 當一個 method 預期會在 derived class 被 override,但 base class 又要有 implementation 時使用。

public virtual void Func1() { ...; }

override Method: 用來指明該 method 是 override base class 中的相同 method

public override void Func1() { ...; }

Note: virtual 與 override 為可預期的,因為設計初期就知道這種行為。但 hiding(使用 new Method)是不可預期的,通常為一個錯誤情況。


C# interface

interface: 完全沒有 implementation,只有宣告。實作部份要由 derived class 來實現。
abstract class: 不能被繼承的 class
abstract Method: 類似 virtual Method,但沒有實作部份,因此 derived class 必需 override 它。
sealed class: 不能被當成 base class 的 class。
sealed Method: 不能再被 derived class override 的 method。

留言

熱門文章