Swift 中 Overriding Declaration 需要使用 ‘override’ 關鍵字

Swift 是一種新興的程式語言,它的語法簡單易懂,並且支援多種特性,其中一個特性就是 Overriding Declaration,它可以讓開發者在子類別中重新定義父類別的方法。

然而,在使用 Overriding Declaration 的時候,開發者必須要在宣告的時候加上 override 關鍵字,否則會出現 Overriding declaration requires an ‘override’ keyword 的錯誤訊息。

為什麼要使用 ‘override’ 關鍵字?

使用 ‘override’ 關鍵字的原因是為了避免開發者在不知情的情況下,重新定義父類別的方法,導致程式出現錯誤。

例如,假設你有一個父類別 Foo,它有一個方法 bar(),而你在子類別 Baz 中宣告了一個同名的方法 bar(),但是沒有加上 override 關鍵字,這時候就會出現 Overriding declaration requires an ‘override’ keyword 的錯誤訊息。

class Foo {
    func bar() {
        print("Foo bar")
    }
}

class Baz: Foo {
    func bar() {
        print("Baz bar")
    }
}

為了避免這種情況發生,Swift 就要求開發者在重新定義父類別的方法時,必須要加上 override 關鍵字,以此來提醒開發者,他們正在重新定義父類別的方法,而不是宣告一個新的方法。

class Foo {
    func bar() {
        print("Foo bar")
    }
}

class Baz: Foo {
    override func bar() {
        print("Baz bar")
    }
}

總結

總而言之,在使用 Swift 的 Overriding Declaration 的時候,開發者必須要加上 override 關鍵字,否則會出現 Overriding declaration requires an ‘override’ keyword 的錯誤訊息。這是為了避免開發者在不知情的情況下,重新定義父類別的方法,導致程式出現錯誤。

Categorized in:

Tagged in:

,