Swift 学习日记 Day1

关于多态和OOP

多态 (Polymorphism):

指计算机程序执行时,相同的讯息可能会送给多个不同的类别之物件,而系统可依据物件所属类别,引发对应类别的方法,而有不同的行为。简单来说,所谓多型意指相同的讯息给予不同的物件会引发不同的动作称之。

Polymorphism allows the expression of some sort of contract, with potentially many types implementing that contract (whether through class inheritance or not) in different ways, each according to their own purpose. Codeusingthat contract should not have to care about which implementation is involved, only that the contract will be obeyed.

例子:
比如有动物(Animal)之[类别](Class),而且由动物[继承]出类别老鹰(Hawk)和类别狗(Dog),并对同一源自类别动物(父类别)之一讯息有不同的响应,如类别动物有「动()」之动作,而类别老鹰会「飞()」,类别狗则会「跑()」,则称之为多型。

实践:

import UIKit

class Animal {
    func move() {
    }
}

class Dog: Animal {
    override func move() {
        print("Run")
    }
}

class Hawk: Animal {
    override func move() {
        print("Fly")
    }
}

let dog = Dog()
let hawk = Hawk()

dog.move()
hawk.move()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,488评论 19 139
  • 很实用的编程英语词库,共收录一千五百余条词汇。 第一部分: application 应用程式 应用、应用程序app...
    春天的蜜蜂阅读 1,606评论 0 22
  • 导语: 如果你已经加入了iOS攻城狮队伍,那么我们由衷地祝贺您正式成为一名终身学习的程序猿;有人觉得这句话...
    超人猿阅读 2,536评论 3 19
  • 一、图片数量 1、该多不多 有的时候,你配图数量不够,只有2张,这是不可以的,最少3张,一个也不能少 2、该少不少...
    朔马渔阳1阅读 688评论 0 0
  • 岁华多少任消磨,少不知愁老却多。 昔日苦辛原值得,如今成就本如何。 无心岂可景中觅,适意但从心里歌。 况乃千秋付一...
    雪窗_武立之阅读 1,782评论 11 11

友情链接更多精彩内容