您的位置:首页 > 移动开发 > Swift

2.Swift 类和接口详解

2015-10-05 17:02 435 查看

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: "\n")
var m1 = Me()
var m2 = Me(name:"CaMnter")
m1.say()
m2.say()
Me.classfunc()
print(" ====== 继承 ======",terminator: "\n")
var sc = SuperCat(name: "CaMnter")
sc.say()
print(" ====== 类的动态扩展 ======",terminator: "\n")
sc.superSay()
print(" ====== 接口 ======",terminator: "\n")
var i2 = Implement()
print("\(i2.info())")


输出结果:

====== 普通 ======
Me: Optional("???")
Me: Optional("CaMnter")
static class func
====== 继承 ======
Me: Optional("CaMnter")
SuperCat: Optional("CaMnter")
====== 类的动态扩展 ======
extension class
====== 接口 ======
implement
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息