本文概述
- 实例方法
- 本地和外部参数名称
- 方法中的自属性
- 通过实例方法修改值类型
实例方法实例方法是与类, 结构或枚举的实例相关联的方法。实例方法写在该类型的主体内。
实例方法提供了与实例需求相关的功能, 还提供了访问和修改实例属性的功能。实例方法写在大括号{}中。它具有对类型实例的方法和属性的隐式访问。当调用该类型的特定实例时, 它将可以访问该特定实例。
句法:
func funcname(Parameters) ->
returntype {Statement1Statement2---Statement Nreturn parameters}
例:
class calculate {let a: Intlet b: Intlet res: Intinit(a: Int, b: Int) {self.a = aself.b = bres = a + b}func tot(c: Int) ->
Int {return res - c}func result() {print("Result is: \(tot(c: 20))")print("Result is: \(tot(c: 50))")}}let pri = calculate(a: 200, b: 300)pri.result()
输出
Result is: 480Result is: 450
【Swift 4方法介绍和用法详细示例】在上面的示例中, 类calculate定义了两个实例方法:
- init()定义为将两个数字a和b相加并将其存储在结果’ res’ 中。
- tot()用于从传递的’ c’ 值中减去’ res’ 。
在Swift 4中, 你可以将第一个参数名称声明为本地参数, 将其余参数名称声明为全局参数名称。
让我们来看一个例子。在这里, ” no1″ 被声明为局部参数名称, ” no2″ 被用于全局声明, 并且可以在整个程序中进行访问。
例子
class divide {var count: Int = 0func incrementBy(no1: Int, no2: Int) {count = no1 / no2print(count)}}let counter = divide()counter.incrementBy(no1: 100, no2: 3)counter.incrementBy(no1: 200, no2: 5)counter.incrementBy(no1: 400, no2: 7)
输出
334057
方法中的自属性方法的所有定义类型实例都有一个称为” self” 的隐式属性。 “ 自我” 属性或” 自我” 方法提供了用于访问实例本身的方法。
例子
class calculate {let a: Intlet b: Intlet res: Intinit(a: Int, b: Int) {self.a = aself.b = bres = a + bprint("Result Inside Self Block: \(res)")}func tot(c: Int) ->
Int {return res - c}func result() {print("Result is: \(tot(c: 20))")print("Result is: \(tot(c: 50))")}}let pri = calculate(a: 100, b: 200)let sum = calculate(a: 300, b: 400)pri.result()sum.result()
输出
Result Inside Self Block: 300Result Inside Self Block: 700Result is: 280Result is: 250Result is: 680Result is: 650
通过实例方法修改值类型在Swift 4中, 结构和枚举属于值类型, 不能通过其实例方法更改, 但我们可以通过” 变异” 行为来修改值类型。 Mutate将对实例方法进行任何更改, 并在执行该方法后返回到原始形式。同样, 通过’ self’ 属性, 将为其隐式函数创建新实例, 并在执行后替换现有方法。
例子
struct area {var length = 1var breadth = 1func area() ->
Int {return length * breadth}mutating func scaleBy(res: Int) {length *= resbreadth *= resprint(length)print(breadth)}}var val = area(length: 3, breadth: 5)val.scaleBy(res: 2)val.scaleBy(res: 20)val.scaleBy(res: 200)
输出
6101202002400040000
推荐阅读
- Swift中的继承介绍和使用示例
- 笔记本声音小怎样办,本文教您笔记本电脑声音小怎样办
- win10传奇花屏,本文教您win10玩传奇出现花屏怎样办
- IE修好专家_本文教您IE浏览器修好专家
- 运用激活工具如何激活win7,本文教您激活工具激活win7
- 固态硬盘装系统,本文教您固态硬盘如何装系统
- office2007激活,本文教您如何激活office2007
- win7截图快捷键,本文教您win7怎样截图