停课学写 Game?跟鸡丁用 Swift Playground 3 分钟速成!
3 分钟速成学写App|上两次学会了 Swift 当中的一些编程入门技巧、逻辑,在再进深一步之前,我们就再来了解一下 Swift 这种编程语言的重要特性 -(Object-Oriented)物件导向,方便我们往后用以写 Apps 时可以更事半功倍。
前文重温
点按前往>>第二集:跟YouTuber鸡丁学写Swift:“条件”与“变数”的逻辑运用
点按前往>>第一集:跟YouTuber鸡丁学写Swift:Apple免费编程10分钟入门
先重温前两集跟鸡丁学写App影片
第一集:Apple免费编程10分钟入门
第二集:“条件”与“变数”的逻辑运用
连 Steve Jobs 都推崇的“物件导向编程”
Object Oriented Programming(OOP)是近代绝大多数新编程语言都会采用的设计概念,意在将程序中的各个部份写成“物件”独立处理、就像一个个小机器/小程序一样。
Apple 创办人 Steve Jobs 1994 年时曾经在一次访问中亲自解释过 OOP 的编程概念,他指出“Objects 就像活生生的人,他们知道如何做事、也有记忆能力……所有复杂性都隐藏在内部,让我们可以十分抽象地与之交流。”
Steve Jobs 又用一个例子再进一步解释了 OOP 的概念:“假设我现在是一个洗衣服的 Object,你只需要将脏衣服交给我,我就会将一件干净的衣服交到你手上,而我过程中先搭的士到三藩市、洗衣、再搭车回程等等…你是完全不需要理会。”
与传统以多个函数组成的电脑编程不一样,以 OOP 作主轴设计的编程语言由于可以将程序分拆,于维护、修改、学习方面都有莫大助益。
Types (类型/型别)
Swift 当中的“物件”有很多种,其中之一个在较初学阶段就会接触到的就是 Types,(用中文讲就是“类型”或是“型别”,但其实这两种译法都不算太过贴切),Swift Playground 的简介中就将之比喻成一个物件建造的“蓝图”。
一个 Types 内,会有不同的属性(Property)、亦即是其专属的变数(Variables),例如一间绿色、拥有两间睡房的“房子”,以 Swift 的程式码写出来就是:
var color = green
var bedrooms = 2
在 Property 之外,Types 亦有不同的 Methods,其实亦即一些在 Types 内定义的函数(Functions),就如一间屋入面就有流水、可以开灯,名字可以任意定作 runWater()、turnLightsOn() 等等,而当中封装的指令就任由编写人定义了。
在 Swift Playground 的首个范例中,图中绿色的传送门亦即为 greenPortal 的 Type,而其中的 Property 就是 isActive,只要将这个 Property,亦即 greenPortal.isActive 设定做“true”,就可以将之开启,而设定做“false”,就将之关闭。
建构个人化的“包剪揼”
透过掌握不同的物件,我们就可以于既有的框架之上轻易地扩充、更改原有的程序。于 Swift Playground 内的“剪刀、石头、布”范例,就容许我们尝试以仅仅一句程式码去为自己添加对手数量、自己可以打出的选项等等。
Swift 与 Swift Playground 的无限可能
跟 YouTuber 鸡丁学以 Swift Playground 写 Swift 语言的时间不长,只短短一天的时间,但也可以感受到 Apple 在培养 Swift 社群方面所下的心机,Swift 本身的逻辑与编程用语都比从前的语言更为简化,而 Swift Playground 则成为一个极佳的入门门槛供初学者学懂一些基本的编程概念。
作为一个可以用来写出完整 App 的语言,短短三回的教学与分享,其实可以转达的就只有 Swift 的皮毛,幸而 Swift Playground 的费用全免,只要有一部 iPad 都可以下载并随时学习。