2.Swiftクラスとインタフェースの詳細
2.Swiftクラスとインタフェースの詳細 Swiftクラスとインタフェースの詳細 クラス継承 クラス動的拡張 プロトコルインタフェース 出力結果
クラス継承
クラス動的拡張
プロトコル(インタフェース)
出力結果
出力結果:
クラス継承
:
//
class Me{
var _name:String?="???"
init(){
}
init(name:String){
self._name = name
}
func say(){
print("Me: \(self._name)")
}
//
class func classfunc(){
print("static class func")
}
}
//
class SuperCat: Me {
// say()
override func say() {
super.say()
print("SuperCat: \(self._name)")
}
}
クラス動的拡張
extension
// ( Me superSay)
extension Me{
func superSay(){
print("extension class")
}
}
プロトコル(インタフェース)
protocol
// ( )
protocol Interface{
func info()->String
}
//
class Implement:Interface{
func info() -> String {
return "implement"
}
}
出力結果
print(" ====== ======",terminator: "
") var m1 = Me() var m2 = Me(name:"CaMnter") m1.say() m2.say() Me.classfunc() print(" ====== ======",terminator: "
") var sc = SuperCat(name: "CaMnter") sc.say() print(" ====== ======",terminator: "
") sc.superSay() print(" ====== ======",terminator: "
") var i2 = Implement() print("\(i2.info())")
出力結果:
====== ======
Me: Optional("???")
Me: Optional("CaMnter")
static class func
====== ======
Me: Optional("CaMnter")
SuperCat: Optional("CaMnter")
====== ======
extension class
====== ======
implement