// 重寫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.重寫 子類可以為繼承來的例項方法,類方法,例項屬...