res.print()
当我们使用 playground 运行上面的程序,得到以下结果。
Wednesday
初始化程序要求
Swift 允许用户初始化协议遵循类似于正常初始化类型的一致性。
语法
复制代码protocol SomeProtocol {
init(someParameter: Int)
}
示例
复制代码
protocol tcpprotocol {
init(aprot: Int)
}
协议初始化程序要求类实现
指定或初始化便捷允许用户初始化协议来预留“required”关键字,以符合其标准。
复制代码
class SomeClass: SomeProtocol {
required init(someParameter: Int) {
// initializer implementation statements
}
}
protocol tcpprotocol {
init(aprot: Int)
}
class tcpClass: tcpprotocol {
required init(aprot: Int) {
}
}
协议一致性保证所有子类显式或继承实现“required”修辞符。
当一个子类覆盖其超类的初始化必须由“override”修饰符关键字指定。
复制代码protocol tcpprotocol {
init(no1: Int)
}
class mainClass {
var no1: Int // local storage
init(no1: Int) {
self.no1 = no1 // initialization
}
}
class subClass: mainClass, tcpprotocol {
var no2: Int
init(no1: Int, no2 : Int) {
self.no2 = no2
super.init(no1:no1)
}
// Requires only one parameter for convenient method
required override convenience init(no1: Int) {
self.init(no1:no1, no2:0)
}
}
let res = mainClass(no1: 20)
let print = subClass(no1: 30, no2: 50)
println("res is: (res.no1)")
println("res is: (print.no1)")
println("res is: (print.no2)")








