|
oop:使用Java開始面向?qū)ο蟮木幊?
你正在從傳統(tǒng)的過程化的編程轉(zhuǎn)向面向?qū)ο蟮拈_發(fā)模式嗎?還是想要進(jìn)入膨脹的Java世界呢?你不會(huì)感到孤單的.成千上萬的開發(fā)者和你處在相同的情形之下.在這系列文章中,我們將使用Java語(yǔ)言帶領(lǐng)你一步一步的學(xué)習(xí)面向?qū)ο蟮拈_發(fā)過程.
OOP: 理解類和對(duì)象
上一次在"使用Java開始面向?qū)ο蟮木幊?這篇文章中,我們學(xué)習(xí)了一個(gè)編程語(yǔ)言要真正成為面向?qū)ο蟮?它應(yīng)該支持信息隱藏/封裝,多態(tài),繼承和動(dòng)態(tài)綁定.另外,我們知道了Java完全支持這些功能,而且知道了因?yàn)镴ava是一種解釋性的語(yǔ)言并運(yùn)行在虛擬機(jī)的內(nèi)部,所以由Java寫成的任何程序都可以在任何支持 Java虛擬機(jī)(JVM)的操作系統(tǒng)上運(yùn)行.我們還明白了對(duì)象是代表現(xiàn)實(shí)生活中事物的軟件-編程模型以及對(duì)象是由它們的狀態(tài)和行為定義的.最后,我們知道了Java中除了原始數(shù)據(jù)對(duì)象以外一切都是對(duì)象.
OOP: 繼承以及多態(tài)
在"OOP簡(jiǎn)介:理解類和對(duì)象"這篇文章中,我們討論了繼承和多態(tài)性的好處.我們還粗略的學(xué)習(xí)了如何擴(kuò)展基類定義子類,繼承基類中合適的行為和屬性而重載那些并不適合的行為和屬性.這種方式能夠削減代碼宏余以及錯(cuò)誤的堆積.
OOP: 限制對(duì)象屬性的訪問
這篇文章中,我們繼續(xù)討論了繼承和多態(tài)性的好處.我們還學(xué)習(xí)了其它的東西: 雖然Java只支持從一個(gè)父類繼承,但它使用接口的方式支持多重繼承. 接口實(shí)現(xiàn)了多態(tài),使得我們能夠給與對(duì)象不同特性以滿足不同的需要. 你可以使用多態(tài)機(jī)制讓完成相似功能的不同的方法擁有相同的名字但是擁有不同的參數(shù)列表.動(dòng)態(tài)/運(yùn)行時(shí)的綁定機(jī)制允許一個(gè)對(duì)象在運(yùn)行時(shí)被強(qiáng)制轉(zhuǎn)化成你所需要的對(duì)象類型,前提是這個(gè)對(duì)象實(shí)現(xiàn)了必需的接口或者括展了特定的父類.
oop: 神奇的初始化
java在初始化的時(shí)候也有很多講究,因?yàn)閖ava中出現(xiàn)了類,所以在初始化的時(shí)候就有可能使用到創(chuàng)建新對(duì)象,所以,對(duì)于初始化的順序要求的比較嚴(yán)格,請(qǐng)看下面一個(gè)程序,是thinking in java中的一個(gè)程序,被我稍加改編,這樣可以更好的說明幾個(gè)初始化的要點(diǎn)
|