
下一步?

我們順者範例程式,很快的帶領讀者認識 Java 開發軟體的各個面向,有些細節,我們只是稍微提了一點,並沒有詳細解釋,例如繼承 (inheritance)
| 001 | // 父類別 |
| 002 | class Superclass { |
| 003 | public int superfield; |
| 004 | |
| 005 | public Superclass() { |
| 006 | System.out.println("Superclass"); |
| 007 | } |
| 008 | |
| 009 | public void supermethod() { |
| 010 | System.out.println("supermethod"); |
| 011 | } |
| 012 | } |
| 013 | |
| 014 | // 子類別 |
| 015 | class Subclass extends Superclass { |
| 016 | public int subfield; |
| 017 | |
| 018 | public Subclass() { |
| 019 | System.out.println("Subclass"); |
| 020 | } |
| 021 | |
| 022 | public void submethod() { |
| 023 | System.out.println("submethod"); |
| 024 | } |
| 025 | } |
| 026 | |
| 027 | // 測試類別 |
| 028 | public class InheritDemo { |
| 029 | public static void main(String[] args) { |
| 030 | Subclass demo = new Subclass(); |
| 031 | demo.submethod(); |
| 032 | } |
| 033 | } |
| 034 | |
| 035 | /* 檔名: InheritDemo.java |
| 036 | 作者: Kaiching Chang |
| 037 | 時間: September, 2014 */ |
繼承使用關鍵字 (keyword) extends ,我們只有簡略介紹子類別 (subclass) 具有父類別 (superclass) 的特性,像是親代遺傳一般,但,還有很多沒有提的,例如哪些會被繼承,哪些又不會。除了繼承之外,作為類別共通的程式介面 (interface) ,使用關鍵字 interface ,我們也沒有詳細介紹,這還連帶牽涉到需要介紹另一個重要關鍵字 abstract ,對學習 Java 而言這些的確都很重要。
我們沒有詳細介紹繼承與介面的理由很簡單,因為一旦要很詳細的教導剛入門的初學者去寫繼承或是介面,勢必停下腳步討論很多該注意的地方,從而到 GUI 之前的篇幅可能暴增兩倍到三倍,讀者能不能在短時間真正的消化吸收這麼多的內容,我們持保留的態度。
然而弔詭的是,初學者只需要有觀念,不必完全理解就能直接開發 GUI 的應用軟體。就大多數初學者感興趣的開發項目而言,初學者會使用繼承與介面就夠了,因為很多機會都是使用 API 或第三方程式庫 (library) 的類別,完全無須自己開發新的類別。
熟練一種工具(程式庫)是一種學習,熟練去開發工具又是另外一種學習。我們認為對初學者而言,先學會使用工具是比較重要的,至於要學習怎麼去開發工具,倒不如先熟練使用工具,玩得很熟了,箇中道理不用言語都能體會之後,再去學習開發給別人使用的工具,自然很快就得心應手。
所以在這份《Java 入門指南》中,我們不以探討語言的細節為目的,直接引導初學者開發應用程式,想必一路順著教材順序學習的讀者,大都能自行摸索、嘗試開發一些 JavaFX 製作的 GUI 軟體囉!
接下來如果讀者想繼續深入 Java 程式設計,我們建議繼續找各類相關書籍、中英文網站鑽研,作者另有教學部落格 - 程式語言教學誌 ,裡頭提供不少介紹 Java 的文章。
如果英文閱讀有問題,那就把英文學好吧!畢竟大量的資源或文件都是英文的,如果想精深程式設計,那麼面對英文是遲早的問題,所以趁早面對英文,接受英文才是良策 ^_^
下一步總有很多不同的選擇,選擇好自己喜歡的方向,不外就大膽去嘗試,有了經驗後就一步步累積,一點一點的進步下去囉!
中英文術語對照
| 繼承 | inheritance |
| 關鍵字 | keyword |
| 子類別 | subclass |
| 父類別 | superclass |
| 介面 | interface |
| 程式庫 | library |
the end
沒有留言:
張貼留言