你正在從傳統(tǒng)的過程化的編程轉(zhuǎn)向面向?qū)ο蟮拈_發(fā)模式嗎?還是想要進(jìn)入膨脹的Java世界呢?你不會(huì)感到孤單的.成千上萬的開發(fā)者和你處在相同的情形之下.在這系列文章中,我們將使用Java語言帶領(lǐng)你一步一步的學(xué)習(xí)面向?qū)ο蟮拈_發(fā)過程.下面是我們這個(gè)系列文章的第一篇:
一種語言是面向?qū)ο蟮木烤挂馕吨裁茨?如果一種編程語言是真正的面向?qū)ο蟮恼Z言,它必須支持以下的特點(diǎn):
封裝--隱藏實(shí)現(xiàn)細(xì)節(jié)
多態(tài)--將同一個(gè)消息發(fā)送給不同的對(duì)象并使各個(gè)對(duì)象以預(yù)定的方式對(duì)消息做出響應(yīng)的能力
繼承--拓展現(xiàn)存的類來生成專有類繼承原來類的狀態(tài)和行為的能力
動(dòng)態(tài)綁定--在編程時(shí)不必知道對(duì)象的具體類型就能向它們發(fā)送消息的能力
讓我們考察一下Java是如何支持這些功能的以及它又如何提供了附加的功能來使得從過程化的程序設(shè)計(jì)到面向?qū)ο蟮拈_發(fā)的轉(zhuǎn)變過程相對(duì)容易.
Java中面向?qū)ο蟮奶攸c(diǎn)
Java是由Sun Microsystems公司在九十年代中期發(fā)布的面向?qū)ο?OOP)的編程語言.你可以從Sun公司的網(wǎng)站上下載最新的Java開發(fā)包(JDK).Java是一種解釋性的語言,這意味著其源程序首先被編譯成中間代碼的形式,然后在每次運(yùn)行之前都要經(jīng)過虛擬機(jī)的解釋,它是徹頭徹尾的面向?qū)ο蟮木幊陶Z言.
Java對(duì)程式員隱藏了許多傳統(tǒng)的面向?qū)ο缶幊陶Z言--比方說C++和Object Pascal--的復(fù)雜性和讓人容易混淆的地方.例如,Java中沒有了指針,Java會(huì)為程序員自動(dòng)的清除引用類型,而且所有變量將被自動(dòng)初始化成適當(dāng)?shù)娜笔≈?除了原始數(shù)據(jù)類型以外,Java中的所有東西都是對(duì)象,必要的時(shí)候,甚至可以為原始數(shù)據(jù)類型也提供封裝機(jī)制.
一種語言是面向?qū)ο蟮木烤挂馕吨裁茨?如果一種編程語言是真正的面向?qū)ο蟮恼Z言,它必須支持以下的特點(diǎn):
封裝--隱藏實(shí)現(xiàn)細(xì)節(jié)
多態(tài)--將同一個(gè)消息發(fā)送給不同的對(duì)象并使各個(gè)對(duì)象以預(yù)定的方式對(duì)消息做出響應(yīng)的能力
繼承--拓展現(xiàn)存的類來生成專有類繼承原來類的狀態(tài)和行為的能力
動(dòng)態(tài)綁定--在編程時(shí)不必知道對(duì)象的具體類型就能向它們發(fā)送消息的能力
讓我們考察一下Java是如何支持這些功能的以及它又如何提供了附加的功能來使得從過程化的程序設(shè)計(jì)到面向?qū)ο蟮拈_發(fā)的轉(zhuǎn)變過程相對(duì)容易.
Java中面向?qū)ο蟮奶攸c(diǎn)
Java是由Sun Microsystems公司在九十年代中期發(fā)布的面向?qū)ο?OOP)的編程語言.你可以從Sun公司的網(wǎng)站上下載最新的Java開發(fā)包(JDK).Java是一種解釋性的語言,這意味著其源程序首先被編譯成中間代碼的形式,然后在每次運(yùn)行之前都要經(jīng)過虛擬機(jī)的解釋,它是徹頭徹尾的面向?qū)ο蟮木幊陶Z言.
Java對(duì)程式員隱藏了許多傳統(tǒng)的面向?qū)ο缶幊陶Z言--比方說C++和Object Pascal--的復(fù)雜性和讓人容易混淆的地方.例如,Java中沒有了指針,Java會(huì)為程序員自動(dòng)的清除引用類型,而且所有變量將被自動(dòng)初始化成適當(dāng)?shù)娜笔≈?除了原始數(shù)據(jù)類型以外,Java中的所有東西都是對(duì)象,必要的時(shí)候,甚至可以為原始數(shù)據(jù)類型也提供封裝機(jī)制.