1. 程式人生 > >教你做一款可以賺錢的iPhone APP》22

教你做一款可以賺錢的iPhone APP》22

第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())")

這裡兒子繼承了爸爸的方法,然後重寫了跑步方法,所以輸出值是不同的。對於走路方法,因為沒有重寫所以輸出值是一樣的。

注:本人水平和能力有限,如果哪些地方寫錯了,請大家給我反饋,我會及時修改。