(二十七)[Swift]面向对象,还是面向protocol?

2016-08-25  本文已影响89人  修行猿

1.面向对象有很多的耦合性,而面向protocol,就可以像零件一样一个一个安装到类上。比如

protocol Flyable {
    func fly()
}
extension Flyable{
    func fly(){
        print("我要上天啦")
    }
}

protocol Eatable {
    func eat()
}
extension Eatable{
    func eat(){
        print("遇佛吃佛,遇神吃神")
    }
}

protocol Runable {
    func run()
}
extension Runable{
    func run(){
        print("宝宝很能跑")
    }
}

protocol Jumpable {
    func jump()
}
extension Jumpable{
    func jump(){
        print("信不信我能跳上天")
    }
}

class Bird : Flyable,Jumpable{
    
}

class Pig: Eatable {

}

class Tiger: Eatable,Runable,Jumpable {
    
}
struct Peopel : Eatable,Runable,Jumpable,Flyable {
    
}
上一篇 下一篇

猜你喜欢

热点阅读