Swift 過載函式和重寫函式以及final的使用

2021-08-20 01:17:44 字數 799 閱讀 4105

當子類b繼承自父類a時,子類不但繼承父類的屬性,還繼承了父類的方法。可以再子類中過載和重寫父類的方法。

過載:

1、不需要加override,

2、函式名和父類相同,引數可以不同,

3、可以為子類在建立時新增額外的屬性,屬性可以通過外部傳入

4、oc 不支援函式過載,oc 的替代方式是 with***…

重寫(覆蓋):

1、需要標識override

2、方法名和引數都必須跟父類相同

3、新加的屬性只能在子類內部設定

ps:final關鍵字可以在class、func和var前修飾,被修飾的內容不會被繼承或者重新操作。可防止被過載和重寫。final用法參考

過載和重寫示例**如下:

class person: nsobject 

}

通過過載方法為其新增屬性

class student: person 

} /// 過載例項化的物件

let s1 = student(name: "jim", age: 21, lesson: "英語")

print(s1.lesson)

通過重寫方法為其新增屬性

class student: person 

} let s = student(name: "joyce", age: 18)

print(s.lesson)

函式過載和重寫

過載overload 是函式名相同,引數列表不同 過載只是在類的內部存在。但是不能靠返回型別來判斷。函式過載發生在同一作用域內,即在同乙個類裡有多個同名函式,引數列表不同。重寫override 也叫做覆蓋。子類重新定義父類中有相同名稱和引數的虛函式。函式特徵相同。但是具體實現不同,主要是在繼承關係中...

JAVA 函式過載和重寫

1.函式過載 overloding 概念 同名函式具有不同的引數列表。作用 實現單個類內部的多型性,是靜態多型。注意點 1 引數型別 個數 順序至少有乙個不相同。2 不能通過 訪問許可權 返回型別 丟擲的異常進行過載。2.函式重寫 overrideing 概念 在子類中定義某個方法與其父類有相同的名...

函式過載 函式重寫 函式隱藏

函式重寫 父類和子類中有函式原型相同的函式,子類繼承父類後,兩個函式在子類中都存在,如果不加訪問許可權的話預設子類物件訪問的是子類自己的此函式 必須滿足的條件 函式原型相同 且只發生在父類與子類之間 執行期間根據物件型別決呼叫的函式 函式隱藏 子類中有與父類同名的函式,但引數個數不同,子類繼承父類後...