美文网首页
Swift 中协议的扩展的简单应用

Swift 中协议的扩展的简单应用

作者: ziyouzhe4 | 来源:发表于2017-03-03 16:57 被阅读72次

参考:

  1. Swift面向协议编程初探
  2. 从 Swift 的面向协议编程说开去

根据下面的结构 设计类和协议

Paste_Image.png

//交通工具类
class Vehicle: NSObject {

    func run(v : Vehicle) {
        print("\(v)  is runing")
    } 
}

//动物类
class Animal: NSObject {
    
    func eat(v : Animal) {
        print("\(v)  is eating")
    }
    
}

//能飞的协议
protocol Flayable {
    
}

extension Flayable {
    
    func flay(f : Flayable) {
        print("\(f) is can flay")
    }
}

//能飞的协议
protocol PetType {
}

extension PetType {
    func pet(f : PetType) {
        print("\(f) is a pet")
    }
}

//鹦鹉  宠物 / 能飞  class默认遵守 CustomStringConvertible协议喔
class Parrot : Animal , PetType , Flayable
{
       override var description:String {    
        return "Parrot"
    }
}

使用:

  let yw = Parrot()
  yw.flay(f: yw)
  yw.pet(f: yw)


Paste_Image.png

相关文章

  • Swift 中协议的扩展的简单应用

    参考: Swift面向协议编程初探 从 Swift 的面向协议编程说开去 根据下面的结构 设计类和协议 使用:

  • Swift 命名空间形式扩展的理解和问题探讨

    先从 Swift 协议扩展的语法说起 注:协议扩展 Protocol extension: Swift 1.x 中...

  • 对swift中的扩展进行"分组"

    在swift中对类和struct进行扩展或使用协议扩展(本质是mixin),是非常简单且实用的语法。但是语法糖太好...

  • Swift 中的协议扩展

    extension 扩展为现有的类、结构体、枚举类型、或协议添加了新功能。这也包括了为无访问权限的源代码扩展类型的...

  • swift扩展

    扩展 Swift中的扩展,有点类似于OC中的分类(Category) 扩展作用 扩展可以为枚举、结构体、类、协议添...

  • Extensions

    swift中扩展适用于类、结构体、枚举和协议 swift中的extension类似于Oc中的categories,...

  • protocol (Swift3.x)

    Swift中 protocol的学习 //扩展标准库/定义属于个人的协议的学习 //---------------...

  • 18-Swift扩展

    1.扩展 Swift中的扩展,有点类似于OC中的分类(Category) 扩展可以为枚举、结构体、类、协议添加新功...

  • 读书笔记第一周(10.3)

    每周的文档阅读 Swift 2.0之初识面向协议编程 Swift 2.0 支持协议扩展((protocol ext...

  • swift中的协议和扩展

    1.Swift中的Protocol 什么是Protocol? Protocol是Swift中的一种自定义类型,可以...

网友评论

      本文标题:Swift 中协议的扩展的简单应用

      本文链接:https://www.haomeiwen.com/subject/wrdrgttx.html