Simula(模擬) 是一個很好的列子。正如這個名字鎖暗示的,它的作用是"模擬"像"銀行出納員"我們有一系列出納員,客戶,賬戶以及交易等
每類成員(元素)都有具有一些通用的特征,每個賬號都有一定的余額;每個出納都能接收客戶的存款,等等。與此同時,每個成員都有自己的狀態
每個都有自己的狀態;每個賬號都有不同的余額;每名出納都有一個名字。所以在計算機程序中,能用獨一無二的實體分別出納員,客戶,賬戶,
交易。這個實體便是"對象",而且每個對象都隸屬一個特定的"類"。?
在面向對象的程序中,盡管我們真正要做的是新建各種各樣的數據,"類型"(Type),但幾乎所有面向對象的程序設計語言采用了"class"關鍵字。當您看到
"Type" 這個字的時候,請同時想到"class";反之亦然
建好一個類后可根據情況生成許多對象。隨后,可將那些對象作為要解決問題中存在的元素處理。事實上,當我們進行面向對象的程序設計時。面臨
的最大一項挑戰就是:如何在"問題空間"(問題實際存在的地方)的元素與"方案空間"(對實際問題進行建模的地方)的元素之間建立理想的"一對一"對象
如何利用對象完成真正有用的工作,必須有一種辦法能向對象發出請求,令其做一些實際的事情,比如完成一次交易,在屏幕上畫一些東西或者打開一個開關等等。每個對象僅能接受特定的請求。
?
2.方案的重復作用
為重復使用一個類。最簡單的辦法是僅直接使用那個類的對象。但同時也能將那個類的一個對象置入一個新類。我們把這叫做“
創建一個成員對象?”新類可由任意數量和類型的其他對象構成。無論如何,只要新類達到了設計要求即可。這個概念叫做"組織"
--在現有類的基礎上組織一個新類,有時,我們也將組織稱作"包含"關系,比如"一輛車包含了一個變速箱"對象的組織具有極大的
靈活性。新類的"成員對象"通常設為"私有"使用這個類的客戶程序員不能訪問,這樣一來,我們可在不干擾客戶代碼的前提下,從容修改那些
成員,也可以在"運行期"更改成員,增大了靈活性。
?