教你做一款可以賺錢的iPhone APP》22
阿新 • • 發佈:2018-12-16
第2部分 故事的進階要素 - 程式語言Swift的進階部分
10 方法 10.1 概念通俗講解 方法是一種特殊的函式,在類或者結構體裡的函式叫方法。其實方法的本質就是函式,只不過它是在類裡,結構體裡使用的。 從使用的範圍上,方法可以分為例項方法和類方法。與例項方法和例項屬性類似,例項方法是屬於特定型別例項的方法。例如定義一個類:人,我們可以定義這個人的屬性,例如體重。然後可以定義一個減肥的例項方法,來通過一段程式碼來描述減肥的流程。每個人的減肥方法可以是不同的。類方法與類屬性類似,類方法用於定義對某個型別的所有例項都可用的方法,例如定義一個方法"跑步",這裡假定每個人的跑步方法是一樣的,就可以定義一個跑步的類方法,大家都可以用。 10.2 定義簡潔介紹
class Person{
//例項方法的定義
func reduceWeight(){
print("減肥方法")
}
//類方法的定義
static func run(){
}
}
//定義例項
var xiaoWang = Person()
//例項方法的使用
xiaoWang.reduceWeight()
//類方法的使用
Person.run()
10.3 我的經驗總結 對於類方法,除了可以用static關鍵字,還可以用class關鍵字 它倆的區別如下 方法可以用static和class關鍵字,使用static關鍵字時子類不能重寫,使用class關鍵字時子類能重寫 舉例
class Dad{
static func walk(){
print("走路")
}
class func run(){
print("爸爸跑步")
}
}
//輸出爸爸的走路方法
print("Dad.walk() = \(Dad.walk())")
//輸出爸爸的跑步方法
print("Dad.walk() = \(Dad.run())")
//兒子繼承爸爸
class Son : Dad{
//重寫跑步方法,變為輸出資訊:兒子跑步
override class func run(){
super .run()
print("兒子跑步")
}
}
//輸出兒子的走路方法
print("Son.walk() = \(Son.walk())")
//輸出兒子的跑步方法
print("Son.walk() = \(Son.run())")
這裡兒子繼承了爸爸的方法,然後重寫了跑步方法,所以輸出值是不同的。對於走路方法,因為沒有重寫所以輸出值是一樣的。
注:本人水平和能力有限,如果哪些地方寫錯了,請大家給我反饋,我會及時修改。