Swift 入門指南 V1.00 - 單元 28 - 下一步




下一步?



我們順者範例程式,很快的帶領讀者認識 Swift 開發軟體的各個面向,有些細節,我們只是稍微提了一點,並沒有詳細解釋,例如繼承 (inheritance)


class SuperClass {
   var a = 1
 
   init() {
      println("SuperClass")
   }
 
   func doSomething() {
      println("Hi")
   }
}
 
class SubClass: SuperClass {
   var b = 2
 
   override init() {
      println("SubClass")
   }
}

繼承在子類別是別字後使用冒號 : ,我們只有簡略介紹子類別 (subclass) 具有父類別 (superclass) 的特性,像是親代遺傳一般,但,還有很多沒有提的,例如哪些會被繼承,哪些又不會。除了繼承之外,作為類別共通的協定 (protocol) ,使用關鍵字 protocol 定義,我們也沒有詳細介紹,還有要精熟 Swift 的話,以下這些技巧也都要學起來


  • 下標 (subscript) ;
  • 巢狀型態 (nested type) ;
  • 延伸 (extension) ;
  • 泛型 (generics) ;
  • 存取控制 (access control) .... 等等。

我們沒有詳細介紹以上內容的理由很簡單,因為一旦要很詳細的教導剛入門的初學者去弄懂這些技巧,勢必停下腳步討論很多該注意的地方,從而到 GUI 之前的篇幅可能暴增兩倍到三倍,讀者能不能在短時間真正的消化吸收這麼多的內容,我們持保留的態度。


然而弔詭的是,初學者只需要有觀念,不必完全理解就能直接開發 GUI 的應用軟體。就大多數初學者感興趣的開發項目而言,初學者會使用繼承與協定就夠了,因為很多機會都是使用 Cocoa 這個開發好的程式庫 (library) ,完全無須自己從頭發明新的輪子。


熟練一種工具(程式庫)是一種學習,熟練去開發工具又是另外一種學習。我們認為對初學者而言,先學會使用工具是比較重要的,至於要學習怎麼去開發工具,倒不如先熟練使用工具,玩得很熟了,箇中道理不用言語都能體會之後,再去學習開發給別人使用的工具,自然很快就得心應手。


所以在這份《Swift 入門指南》中,我們不以探討語言細節為目的,直接引導初學者開發應用程式,想必一路順著教材順序學習的讀者,大都能自行摸索、嘗試開發一些 Xcode 製作的 GUI 軟體囉!


iOS 專案就 GUI 部分跟 Mac OS 專案都很類似,不過要把 Cocoa 換成 Cocoa Touch ,其他還有些程式設計的細節與事項需要討論,對初學者而言,倒是先學 Mac OS 專案,摸熟 Xcode 就可迅速轉換到 iOS 專案。

接下來如果讀者想繼續深入 Swift 程式設計,我們建議繼續找各類相關書籍、中英文網站鑽研,作者另有教學部落格 - 程式語言教學誌 ,裡頭提供不少介紹 Swift 的文章。


如果英文閱讀有問題,那就把英文學好吧!畢竟大量的資源或文件都是英文的,如果想精深程式設計,那麼面對英文是遲早的問題,所以趁早面對英文,接受英文才是良策 ^_^

下一步總有很多不同的選擇,選擇好自己喜歡的方向,不外就大膽去嘗試,有了經驗後就一步步累積,一點一點的進步下去囉!


中英文術語對照


子類別subclass
父類別superclass
協定protocol
下標subscript
巢狀型態nested type
延伸extension
泛型generics
存取控制access control
程式庫library

沒有留言: