Swift 學習筆記 繼承

2021-08-05 23:03:39 字數 3477 閱讀 7760

// 重寫hash方法

class

ios:nsobject

}

override func viewdidload()
class

human

}var human = human("aaa", 30)

struct size

var size = size(width: 20, height: 20)

enum color

init(color:color)

}var c1 = color.blue

var c2 = color()

var c3 = color(color: .blue)

print(c1)

print(c2)

print(c3)

// 如果不宣告構造方法,則c2/c3均不可用

struct size

init()

}}

class

human

}var man = human(name: "wang", age: 20)

print(man.name)

print(man.bankcardnumber)

class human

init(name:string, age:int)

}var man1 = human(name: "wang", age: 20)

var man2 = human(name: "li", age: 23, id: 111111)

// 撲克牌種類

enum pokerkind:string

// 撲克牌號碼

enum pokernumber:string

// 撲克牌

struct pokercard

}// 撲克牌選手

class pokerpalyer

return temp

}()/* 閉包的宣告:

* * 注意此處的"()",如果沒有則是宣告乙個閉包,並將閉包賦值給cards,因為有"()",所以執行了閉包。

*/// 類方法,初始化52張牌

static func setupcards() -> [pokercard]

}return temp

}}// 構造四個撲克牌選手

var palyer1 = pokerpalyer()

var palyer2 = pokerpalyer()

var palyer3 = pokerpalyer()

var palyer4 = pokerpalyer()

var players = [palyer1,palyer2,palyer3,palyer4];

// 遍歷每個選手的撲克牌

for player in players

print("選手:\(palyer1)\n撲克有:\(string)")

}

class

human

// 父類 便利構造器

convenience init ()

}

class human

convenience init ()

}class man:human

}

class human

convenience init ()

}class man:human

}

class human

convenience init ()

}class man:human

}var man = man()

print(man.name) // wang

class human

// 父類 指定構造器2

init(name:string,age:int,bankcardnumber:double)

// 父類 便利構造器

convenience init ()

}class man:human

var man = man()

print(man.name)

class human

// 父類 指定構造器2

init(name:string,age:int,bankcardnumber:double)

// 父類 便利構造器

convenience init ()

}class man:human

}var man = man() // 報錯,由於子類只重寫了父類指定構造器1,所以子類沒有繼承父類的便利構造器

class

human

}class

man:human

}

deinit
class

someclass

}class

subofclass:someclass

}// 利用弱引用,使得物件在建立之後可以被立馬釋放掉

weak

var weakref = subofclass()

// subofclass deinit!

// smomeclass deinit!

class

someclass

extension someclass

protocol someclassdelegate

extension someclass

:someclassdelegate

class

person

extension person

}var person = person()

person.height = 30

print(person.standardweight)

class

person

extension person

}var person = person(height: 12.3)

class

carriage

}class

train

}}extension train

}let train = train(number: 10)

print(train[1].name)

// 車廂:2

swift學習筆記之繼承

繼承1防止 冗餘2擴充套件功能 1繼承的定義 2繼承屬性 3子類不僅可以繼承父類的屬性,還可以繼承在屬性中的新增的屬性監視器 class stepcounter didset old class stepcounter stepcounter let counter stepcounter coun...

swift學習筆記 四 關於類的繼承

在swift中,繼承是區分類與其他物件的基本特徵 繼承後的子類可以重寫父類的方法,包括類方法和例項方法,屬性和附屬指令碼 subscript 在繼承過程中,構造器方法init 是不被繼承的,需要顯示標明 class tandem bicycle 子類只可以修改從父類繼承來的變數屬性,而不可以修改常量...

swift文件筆記 十一 繼承

乙個類可以繼承另乙個類的方法,屬性和其它特性。當乙個類繼承其它類時,繼承類叫子類,被繼承類叫超類 或父類 不繼承於其它類的類,稱之為基類。swift 中的類並不是從乙個通用的基類繼承而來。如果你不為你定義的類指定乙個超類的話,這個類就自動成為基類。1.重寫 子類可以為繼承來的例項方法,類方法,例項屬...