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”方法。我们可以根据参数的类型确定调用哪个方法。如果我们传递两个整型参数,则调用第一个方法。如果我们传递两个字符串类型参数,则调用第三个方法。如果我们传递两个双精度类型参数,则调用第二个方法。
结论
因此,这就是我们在类中演示方法重载的方式。方法重载提供了更好的代码可读性、灵活性、简洁性和多态性。此外,请始终记住,重载方法可以具有相同的名称,相同或不同的返回类型,但它们的参数列表必须不同。