創建並測試好一個類後,它應(從理想的角度)代表一個有用的代碼單位。但並不象許多人希望的那樣,這種重復使用的能力並不容易實現;它要求較多的經驗以及洞
就其本身來說,對象的概念可為我們帶來極大的便利。它在概念上允許我們將各式各樣數據和功能封裝到一起。這樣便可恰當表達“問題空間&rdqu
針對繼承可能會產生這樣的一個爭論:繼承只能改善原基礎類的函數嗎?若答案是肯定的,則衍生類型就是與基礎類完全相同的類型,因為都擁有完全相同的接口。這
通常,繼承最終會以創建一系列類收場,所有類都建立在統一的接口基礎上。我們用一幅顛倒的樹形圖來闡明這一點(注釋⑤):⑤:這兒采用了“統一
在doStuff()的代碼裡,最讓人吃驚的是盡管我們沒作出任何特殊指示,采取的操作也是完全正確和恰當的。我們知道,為Circle調用draw()時
設計程序時,我們經常都希望基礎類只為自己的衍生類提供一個接口。也就是說,我們不想其他任何人實際創建基礎類的一個對象,只對上溯造型成它,以便使用它們
從技術角度說,OOP(面向對象程序設計)只是涉及抽象的數據類型、繼承以及多形性,但另一些問題也可能顯得非常重要。本節將就這些問題進行探討。最重要的
針對一個特定問題的解決,如果事先不知道需要多少個對象,或者它們的持續時間有多長,那麼也不知道如何保存那些對象。既然如此,怎樣才能知道那些對象要求多
在面向對象的程序設計中,由於C++的引入而顯得尤為突出的一個問題是:所有類最終是否都應從單獨一個基礎類繼承。在Java中(與其他幾乎所有OOP語言
由於集合是我們經常都要用到的一種工具,所以一個集合庫是十分必要的,它應該可以方便地重復使用。這樣一來,我們就可以方便地取用各種集合,將其插入自己的
每個對象都要求資源才能“生存”,其中最令人注目的資源是內存。如果不再需要使用一個對象,就必須將其清除,以便釋放這些資源,以
從最古老的程序設計語言開始,錯誤控制一直都是設計者們需要解決的一個大問題。由於很難設計出一套完美的錯誤控制方案,許多語言干脆將問題簡單地忽略掉,將
在計算機編程中,一個基本的概念就是同時對多個任務加以控制。許多程序設計問題都要求程序能夠停下手頭的工作,改為處理其他一些問題,再返回主進程。可以通
創建一個對象後,只要我們需要,它就會一直存在下去。但在程序結束運行時,對象的“生存期”也會宣告結束。盡管這一現象表面上非常
Web這個詞剛開始顯得有些泛泛,似乎“沖浪”、“網上存在”以及“主頁”等等
Web最初采用的“服務器-浏覽器”方案可提供交互式內容,但這種交互能力完全由服務器提供,為服務器和因特網帶來了不小的負擔。
我們的整個討論都忽略了服務器端編程的問題。如果向服務器發出一個請求,會發生什麼事情?大多數時候的請求都是很簡單的一個“把這個文件發給我
與Java有關的大多數爭論都是與程序片有關的。Java實際是一種常規用途的程序設計語言,可解決任何類型的問題,至少理論上如此。而且正如前面指出的,
面向對象的范式是思考程序設計時一種新的、而且全然不同的方式,許多人最開始都會在如何構造一個項目上皺起了眉頭。事實上,我們可以作出一個“
第一步是決定在後面的過程中采取哪些步驟。這聽起來似乎很簡單(事實上,我們這兒說的一切都似乎很簡單),但很常見的一種情況是:有些人甚至沒有進入階段1