Swift_协议

来源:互联网 发布:知乎可以邮箱注册吗 编辑:程序博客网 时间:2024/05/16 23:43
import Foundationprotocol Show {    func showMessage()}protocol Print {    //实例方法    var printName:String {get set}  //可读写    var factory:String {get}    //只读    func show() -> Void    func display(num:Int,content:String) -> String    init(name:String)    init?()    //类属性和方法    static var made:String {get}    static func clssMethod()}class HPPrinter: Print,Show {    required init(name: String) {        printName = name    }    required init?() {        if printName.isEmpty {            return nil        } else {        }    }    //set,get属性实现    var printName:String = ""    //get属性实现    var factory: String {        get {            return "惠普"        }    }    func show() {        print("\(printName)")    }    func display(num: Int, content: String) -> String {        return ""    }    static var made: String {        get {            return "惠普中国"        }    }    static func clssMethod() {        print("sbsbsbsbsbsbsbsb")    }    func showMessage() {    }}class ESPPNPrinter: Print{    required init(name: String) {        printName = name    }    required init?() {        if printName.isEmpty {            return nil        } else {        }    }    //set,get属性实现    var myName = ""    var printName:String {        set {            myName = newValue        }        get {            return myName        }    }    //get属性实现    var factory: String {        get {            return "惠普"        }    }    func show() {        print("\(printName)")    }    func display(num: Int, content: String) -> String {        return ""    }    static var made: String {        get {            return "惠普中国"        }    }    static func clssMethod() {        print("sbsbsbsbsbsbsbsb")    }}var hp = HPPrinter()var espn = ESPPNPrinter()var obj: Printobj = hp!obj = espn!
原创粉丝点击