停課學寫 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 都可以下載並隨時學習。