初探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>)


标签: Swift, IOS

添加新评论