初探Swif十 - 协议
初探Swift,Swift协议,Swift接口,它是一种约定,实现这个接口的类必须要实现这个接口中所定义的所有方法。协议(Protocol),同PHP的接口(interface)。
/**
* 协议(Protocol),同PHP的接口(interface)
*/
protocol MyProtocol{
//变量可读可写
var myName:String {
get set
}
//定义变量,只读
var myAge:Int{
get
}
func getMyName()->String
}
//继承的父类一定要写在最前面,然后用,分割,后面跟协议,多个协议用,分割
class MyClass : MyProtocol{
var m_name:String = ""
var myName:String {
get{
return "lane"
}set{
m_name = newValue
}
}
var myAge:Int{
get{
return 24
}
}
func getMyName()->String{
return "hello Lane"
}
}
/**
* 协议类型
*/
var varProtocol:MyProtocol = MyClass()
varProtocol.myName
/**
* 协议继承
* 要实现子协议和父协议的全部内容才可以
*/
protocol ChildMyProtocol:MyProtocol{
func getMyAge()->Int
}
class MyClass2 : ChildMyProtocol{
var m_name:String = ""
var myName:String {
get{
return "lane"
}set{
m_name = newValue
}
}
var myAge:Int{
get{
return 24
}
}
func getMyName()->String{
return "hello Lane"
}
func getMyAge() -> Int {
return 20;
}
}
/**
* 协议合并
*/
func hello(s:protocol<MyProtocol, ChildMyProtocol>)