swift的鸭子类型

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
查看查看228 回复回复4 收藏收藏 分享淘帖 转播转播 分享分享 微信
查看: 228|回复: 4
收起左侧

swift的鸭子类型

[复制链接]
矽砂 发表于 2017-1-11 19:07:37 | 显示全部楼层 |阅读模式
快来登录
获取优质的苹果资讯内容
收藏热门的iOS等技术干货
拷贝下载Swift Demo源代码
订阅梳理好了的知识点专辑
[Swift] 纯文本查看 复制代码
// 当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。
protocol Duck {
    func move()
    func swim()
        var bird: Duck        
        
        bird = Penguin()
        print(bird)
        bird.move()
        bird.swim()
        bird.bray()
        
        
        bird = Daigo()
        print(bird)
        bird.move()
        bird.swim()
        bird.bray()
Penguin()
Penguin move
Penguin swim
Penguin bray
Daigo()
Duck move
Daigo swim
Duck bray

    func bray()
}
//而我们知道鸭子是这样活动的
extension Duck {
    func move() {
        print("Duck move")
    }
    func swim() {
        print("Duck swim")
    }
    func bray() {
        print("Duck bray")
    }
}
// 企鹅也是一种能跑,能游泳,能叫的那么可能就是一直鸭子
struct Penguin: Duck {
    func move() {
        print("Penguin move")
    }
    func swim() {
        print("Penguin swim")
    }
    func bray() {
        print("Penguin bray")
    }
}
//我听说醍醐也是一种能跑,能游泳,能叫的东西,那么他也是一种鸭子,但没见过他怎么跑,怎么叫,那他可能是像鸭子一样叫
struct Daigo: Duck {
    func swim() {
        print("Daigo swim")
    }
}




都看到这里了,就把这篇资料推荐给您的好朋友吧,让他们也感受一下。

回帖是一种美德,也是对楼主发帖的尊重和支持。您的赞赏是我前进的方向。

*声明:敏捷大拇指是全球最大的Swift开发者社区、苹果粉丝家园、智能移动门户,所载内容仅限于传递更多最新信息,并不意味赞同其观点或证实其描述;内容仅供参考,并非绝对正确的建议。本站不对上述信息的真实性、合法性、完整性做出保证;转载请注明来源并加上本站链接,敏捷大拇指将保留所有法律权益。如有疑问或建议,邮件至marketing@swifthumb.com

*联系:微信公众平台:“swifthumb” / 腾讯微博:@swifthumb / 新浪微博:@swifthumb / 官方QQ一群:343549891(满) / 官方QQ二群:245285613 ,需要报上用户名才会被同意进群,请先注册敏捷大拇指

本帖被以下淘专辑推荐:

Anewczs 发表于 2017-1-11 19:09:22 | 显示全部楼层
给你编辑了一下~
小开开 发表于 2017-1-12 07:27:34 | 显示全部楼层