Swift程式演示類中方法的過載
方法過載是一種技術,它允許我們在單個類中建立多個同名方法,但這些方法的引數型別或引數數量不同。在方法呼叫時,根據傳遞給它的引數型別或數量來確定呼叫哪個特定方法。例如 -
class Book {
// Methods
func Author(){}
func Author(x: Int)->Int{}
func Author(x: String)->String{}
func Author(a: Int, b: String)->Int{}
}
這裡,Book 類有四個過載方法。其中方法名稱相同,但引數型別和引數數量不同。在這篇文章中,我們將學習如何編寫一個 Swift 程式來演示類中方法的過載。
方法 1:使用不同數量的引數進行過載
這裡,一個類包含多個同名方法,但引數數量不同。
示例
以下 Swift 程式演示了在一個類中使用不同數量的引數進行方法過載。
import Foundation
import Glibc
class MathematicOperation {
// Method 1
func product(x: Int, y: Int) -> Int {
return x * y
}
// Method 2
func product(x: Int, y: Int, z: Int) -> Int {
return x * y * z
}
}
// Creating object
let obj = MathematicOperation ()
// Calling method 1
print("Product:", obj.product(x: 10, y: 40))
// Calling method 2
print("Product:", obj.product(x: 80, y: 20, z: 90))
輸出
Product: 400 Product: 144000
在上面的程式碼中,我們建立了一個名為“MathematicOperation”的類。此類包含兩個同名方法“product”,但引數數量不同。然後我們建立“MathematicOperation”類的例項並呼叫“product”方法。我們可以根據引數的數量確定呼叫哪個方法。如果我們傳遞兩個引數,則呼叫第一個方法;如果我們傳遞三個引數,則呼叫第二個方法。
方法 2:使用不同型別的引數進行過載
這裡,一個類包含多個同名方法,但引數型別不同。這裡引數的數量可以相同,但型別必須不同。
示例
以下 Swift 程式演示了在一個類中使用不同型別的引數進行方法過載。
import Foundation
import Glibc
class Addition {
// Method 1
func sum(x: Int, y: Int) -> Int {
return x + y
}
// Method 2
func sum(x: Double, y: Double) -> Double {
return x + y
}
// Method 3
func sum(x: String, y: String)-> String{
return x + y
}
}
// Creating object
let obj = Addition()
// Calling method 1
print("Sum:", obj.sum(x: 10, y: 40))
// Calling method 3
print("Sum:", obj.sum(x: "Blue", y: "Sky"))
// Calling method 2
print("Sum:", obj.sum(x: 82.2, y: 21.2))
輸出
Sum: 50 Sum: BlueSky Sum: 103.4
在上面的程式碼中,我們建立了一個名為“Addition”的類。此類包含三個同名方法“sum”,引數數量相同,但引數型別不同。然後我們建立“Addition”類的例項並呼叫“sum”方法。我們可以根據引數的型別確定呼叫哪個方法。如果我們傳遞兩個整型引數,則呼叫第一個方法。如果我們傳遞兩個字串型別引數,則呼叫第三個方法。如果我們傳遞兩個雙精度型別引數,則呼叫第二個方法。
結論
因此,這就是我們在類中演示方法過載的方式。方法過載提供了更好的程式碼可讀性、靈活性、簡潔性和多型性。此外,請始終記住,過載方法可以具有相同的名稱,相同或不同的返回型別,但它們的引數列表必須不同。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP