final 修飾詞
更新:2007 年 11 月
宣告類別不能擴充,或者方法或屬性 (Property) 不能覆寫。
final statement
引數
- statement
必要項。類別、方法或屬性定義。
備註
final 修飾詞是用來指定類別不能擴充或者方法或屬性不能覆寫。這可防止其他類別藉著覆寫重要函式來變更類別的行為。具有 final 修飾詞的方法可以隱藏,或者由衍生類別中的方法多載。
類別中的方法和屬性與類別都可以使用 final 修飾詞來標記。介面、欄位和介面的成員不能使用 final 修飾詞。
您不能將 final 修飾詞與其他繼承修飾詞 (abstract) 結合使用。根據預設,類別成員既不是 abstract 也不是 final。繼承修飾詞不能與 static 修飾詞搭配使用。
範例
以下範例說明 final 修飾詞的用法。final 修飾詞可防止衍生類別的方法覆寫基底類別方法。
class CBase {
final function methodA() { print("Final methodA of CBase.") };
function methodB() { print("Non-final methodB of CBase.") };
}
class CDerived extends CBase {
function methodA() { print("methodA of CDerived.") };
function methodB() { print("methodB of CDerived.") };
}
var baseInstance : CBase = new CDerived;
baseInstance.methodA();
baseInstance.methodB();
這個程式的輸出顯示 final 方法沒有被覆寫:
Final methodA of CBase.
methodB of CDerived.