前言
一個類可以繼承另一個類的方法,屬性和其它特性。當一個類繼承其它類時,繼承類叫子類,被繼承類叫超類(或父類)。在 Swift 中,繼承是區分「類」與其它類型的一個基本特徵。
基類
不繼承於其它類的類,稱之爲基類。
定義一個基類:
class perSon{
var name:String = ""
var age:Int = 0
var sex:String = ""
var jihe:[String] = [""]
final var seylove:String {
return "I love you"
}
var seyHello:String{
get{
return "\(name)向我說了一句\(age)他還是個:\(age)"
}
set{
if age>10 {
print("\(name)已經成年了")
}
}
}
subscript(Index:Int)->String{
get{
if age > 10{
return jihe.remove(at: Index)
}else{
return "年齡未達標!"
}
}
set{
if age>10{
age+=Int(newValue) ?? 20
}
}
}
func home() ->String{
return("我叫\(name)我今年\(age)歲,行別:\(sex)")
}
}
定義一個子類:
class ITboy:perSon{
//被加了final
// override var seylove:String{
// return "Im dont love you"
// }
override var seyHello: String{
get{
return "\(name)向我說了一句\(age)他還是個:\(age)"
}
set{
if age>18 {
age==18
}
}
}
override func home() ->String{
return("我叫\(name)我今年\(age)歲,行別:\(sex)")
}
override subscript(Index:Int)->String{
get{
if age > 10{
return jihe.remove(at: Index)
}else{
return "年齡未達標!"
}
}
set{
if age>10{
age+=Int(newValue) ?? 20
}
}
}
}
實力化基類/父類:
var shiji = perSon()
shiji.age=20
shiji.name="shiji"
shiji.sex="boy"
shiji.seyHello
shiji.jihe.append( "gridOne")
shiji.jihe.append( "two")
shiji.jihe.append( "shree")
shiji.jihe.append( "four")
print(shiji.home())
實力化之類:
var ItBoy = ITboy()
ItBoy.age=10
ItBoy.name="gw"
ItBoy.sex="boy"
ItBoy.seyHello
ItBoy.home()
shiji[1]
注意:存儲屬性不能被重寫 ,父類中的計算屬性沒有get and set方法的時候 子類可以寫出 get and set 方法,父類中的計算屬性有get and set 方法 的時候 子類不能簡寫,fina :防止被重寫