swift协议_010-swift协议protocol

//: Playground - noun: a place where people can play

import UIKit

//-----协议-------//

//协议:声明一组属性和方法,由协议的签订者来实现协议方法。

//1.协议的声明
protocol WXHLProtocol {
    
    //声明一组方法
    func doHomework()
    
    func dontLate()
    
    //3.Swift的协议中可以声明属性
    var money : Int {set get}
    var classNumber : Int {get}
    
    
    
}

//2.协议的签订 类名:协议名
class Person : WXHLProtocol {
    
    var name : String
    
    init(name : String) {
        self.name = name
    }
    
    //协议的签订者中必须实现协议方法
    func doHomework() {
        print("\(name)在写作业")
    }
    
    func dontLate() {
        print("\(name)不要迟到")
    }
    
    
    //实现协议中声明的属性
    var money : Int {
        set {
            self.money = newValue

        }

        get {
            return self.money

        }
    }
    
    var classNumber : Int {
        
        return 1000
    }
    
    
}

let p = Person(name: "小宝")
p.doHomework()
p.dontLate()

//4.协议的继承 子协议 : 父协议
protocol EngineerProtocol : WXHLProtocol {
    
    var job : String {get set}
    var header : String {get}
    
    
}

class SwiftEngineer : Person, EngineerProtocol {
    
    //协议中声明的属性可以是存储属性,也可以计算属性
    var job : String = "Swift Engineer"
    
    var header : String = "TeamLeader"
    
}

 

posted on 2016-06-08 10:10  爱你久久iOS  阅读(215)  评论(0编辑  收藏  举报

导航