JAVA基礎:使用Java開始物件導向的程式設計(轉)

BSDLite發表於2007-08-17
JAVA基礎:使用Java開始物件導向的程式設計(轉)[@more@]你正在從傳統的過程化的程式設計轉向物件導向的開發模式嗎?還是想要進入膨脹的Java世界呢?你不會感到孤單的.成千上萬的開發者和你處在相同的情形之下.在這系列文章中,我們將使用Java語言帶領你一步一步的學習物件導向的開發過程.下面是我們這個系列文章的第一篇:

一種語言是物件導向的究竟意味著什麼呢?如果一種程式語言是真正的物件導向的語言,它必須支援以下的特點:

封裝--隱藏實現細節

多型--將同一個訊息傳送給不同的物件並使各個物件以預定的方式對訊息做出響應的能力

繼承--擴充現存的類來生成專有類繼承原來類的狀態和行為的能力

動態繫結--在程式設計時不必知道物件的具體型別就能向它們傳送訊息的能力

讓我們考察一下Java是如何支援這些功能的以及它又如何提供了附加的功能來使得從過程化的程式設計到物件導向的開發的轉變過程相對容易.

Java中物件導向的特點

Java是由Sun Microsystems公司在九十年代中期釋出的物件導向(OOP)的程式語言.你可以從Sun公司的網站上下載最新的Java開發包(JDK).Java是一種解釋性的語言,這意味著其源程式首先被編譯成中間程式碼的形式,然後在每次執行之前都要經過虛擬機器的解釋,它是徹頭徹尾的物件導向的程式語言.

Java對程式員隱藏了許多傳統的物件導向程式語言--比方說C++和Object Pascal--的複雜性和讓人容易混淆的地方.例如,Java中沒有了指標,Java會為程式設計師自動的清除引用型別,而且所有變數將被自動初始化成適當的預設值.除了原始資料型別以外,Java中的所有東西都是物件,必要的時候,甚至可以為原始資料型別也提供封裝機制.

物件簡介

物件是代表現實生活中的實物的軟體程式設計實體,比如說銀行帳號,計算機使用者,使用者介面上的按鈕,視窗選單等等.物件是由它們的狀態和行為定義的.例如,一個銀行帳號擁有一種狀態,諸如當前的收支狀況,賬戶的所有人,允許的最小交易額,等等,而它的行為則包括提取,存入,收支平衡等.

一個物件的狀態是由只有物件自己知道的變數定義的.Java把這些變數稱為資料域或者成員變數.資料域對物件來說是私有的除非顯式的使用關鍵字來定義它們的作用域,使它們對其它類可見.我們將在以後討論變數作用域的問題.

一個物件的行為是由它上面的操作定義的.在Java中,這些操作被叫做方法.方法可以改變一個物件的狀態,建立新物件,實現實用的功能等.



類是一個實體,它定義了一個物件的執行方式以及在物件被建立或者說例項化的時候所包含的資料.類的作用就象一個模板,一個或者多個物件可以依照它來建立.下面是使用Java物件導向的概念申明HelloWorld應用程式的例子:

public class HelloWorld

{

private
String helloMsg = "Hello World!";

public
static void main(String[] args)

{

HelloWorld hw = new HelloWorld();

}

public
HelloWorld()

{

// 顯示我們的"Hello
World"訊息

System.out.println(helloMsg);

}

}

上面的例子定義了一個模板,真實的HelloWorld物件可以從這個模板建立.你還會注意到從public
static void main(String[] args)這一行開始的一段奇怪的程式碼.這一段程式碼定義的是一個特殊的方法main,它其實就是我們這個HelloWorld程式的入口點,上面的程式是一個典型的演示所有的Java應用程式如何定義它們的入口點.注意到即使是這個main入口點也被封裝在類裡面.對於這個例子,我們就是將它封裝在HelloWorld類裡.上面的程式展示瞭如何定義一個類,HelloWorld,以及其中的一個資料域,helloMsg和兩個方法main和HelloWorld.HelloWorld方法是一種特殊的方法,這種方法被稱做建構函式.我們將在後面的文章裡討論常規方法,建構函式和靜態成員函式的細節和區別.

在Java中,所有與一個特殊的類有關的原始碼都寫在一個與類同名的擁有字尾名.java的檔案裡.Java編譯器讀取原始檔並將它們翻譯成平臺無關的,二進位制格式的程式碼,成為位元組程式碼,然後將這些程式碼分類儲存在與類同名的但是字尾為.class的檔案裡.你最終會為每一個類得到一個class檔案.

編譯並執行我們的例子程式

一旦你已經從Sun的Web站點上下載了JDK並在你的機器上安裝了它,你就可以開始編譯並執行Java程式了.要編譯並執行我們的例子程式,將HelloWorld類的程式碼貼上到你最喜歡的文件編輯器裡,將檔案儲存為HelloWorld.java,然後,在命令提示符下,將當前路徑改變到包含了這個檔案的路徑裡.現在你就可以在命令列提示符下鍵入下面的命令來編譯程式了:

Windows:

injavac HelloWorld.java

UNIX or Linux:

/bin/javac HelloWorld.java

這個命令將在同一個目錄裡產生一個新的檔案,叫做HelloWorld.class.要執行這個程式,請在命令提示符下鍵入下面的命令:

Windows:

injava HelloWorld

UNIX or Linux:

/bin/java HelloWorld

你應該可以看到螢幕上顯示Hello World!

總結

我們已經接觸到了使用Java程式設計語言進行物件導向的程式設計的一些皮毛知識.下次,我們將剖析我們的例子程式,給它新增更多的功能,並討論更多的有關物件,類和其它物件導向程式設計的基本概念以及用Java如何實現它們.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-963803/,如需轉載,請註明出處,否則將追究法律責任。

相關文章