Swift -- 结构体、类、枚举继承protocol协议

protocol Example{

    var simpleDescription:String{get}

    mutating func adjust()

}

// 类继承协议

class Simple:Example{

    var simpleDescription = "Sing"

    func adjust(){

        println("description: \(simpleDescription)")

    }

}

var simple = Simple()

simple.simpleDescription

simple.adjust()

// 结构体继承协议

struct SimpleStructure:Example{

    var simpleDescription = "struct"

    mutating func adjust(){

        println("This is \(simpleDescription)")

    }

}

var str = SimpleStructure()

str.simpleDescription

str.adjust()

// 枚举继承协议

enum simpleEnum: Example{

    case first(String)

    var simpleDescription:String{

        get{

            switch self{

                case let .first(text): return text

                default: return "hi"

            }

        }

    }

    mutating func adjust(){

        print("description: hi")

    }

}

var s = simpleEnum.first("dingding")

s.simpleDescription

s.adjust()

posted @ 2015-12-16 22:52  以神之名  阅读(2446)  评论(0编辑  收藏  举报