為什么要討論模型——編程時類的定義是建模的結(jié)果。
模型是某種事物的一個簡單表示。
從定義可以看出模型與其表示的事物并不完全相同。類是建模的結(jié)果。對模型的理解要注意以下幾點:
1、模型是真實對象的表現(xiàn),模型可以具有真實對象不具有的性質(zhì),也可以不具有真實對象的某些性質(zhì)。這要看建立模型的目的或需求。如同樣一名學(xué)生,在公安部門需要的身份信息與學(xué)校需要的身份信息不可能一樣,建模時其模型就不可能相同。
2、模型可以做真實事物不能做到的或不容易做的。如用積木搭建房子比用真實的磚、瓦建材要容易的多;真實的學(xué)生成績表不能我們不可能每天任意時刻都可以查詢,而在計算機中的學(xué)生成績表就可以每天任意時刻查詢。
3、定義中的“表示”說明模型是表示事物的某種方法而已,而且表示方法可以不盡相同。如演示地球形狀的模型可以用木頭制作,也可以用泥塑制作,還可以用塑料制作。說明我們在建模時,對同一事物最后的建模可能不同,哪怕是同一個目的。
4、建模決定事物表示的優(yōu)劣。優(yōu)秀的建模能實現(xiàn)真實事物不能達到的目的,又能在使用時得心應(yīng)手。編程者知識面越寬,建模就會越好,因為他能真正認(rèn)識建模的事物。
宇宙中事物多種多樣,人們總是習(xí)慣分門別類去認(rèn)識它們。分門別類有利于找到相同點與不同點,通過總體的概括認(rèn)識事物比一個一個獨立認(rèn)識它們效率高出很多,而這種概括同樣可以使編程變得更有效、更容易。
建立模型的過程中所分析出的相關(guān)類是指具有相同屬性與能力的建模對象。而同一個類中的不同具體的對象就是實例。
同一類表現(xiàn)基本相同,即具有相同的屬性和能動性,而一類中的不同實例的狀態(tài)則不可能完全相同,就像世界上不可能兩片完全相同的葉子一樣。如同屬于兔子類(類)兩只兔子(實例)可能一只在吃食物,另一只在睡覺;而這兩只兔子各項生理特征也不可能完全相同,如心跳速度、毛色、體重等等。
注意:“對象”一詞所指的東西是根據(jù)上下文不同既可指類,也可指實例,在此應(yīng)該說是一個非準(zhǔn)確的用語。
面向?qū)ο缶幊袒具^程也是以建模分析和建立類為主要過程的。
1、搜集與分析客戶要求:采用多種方法對客戶的要求進行搜集與分析,搜集的越全面、越準(zhǔn)確,對以后的編程越好。
2、設(shè)計系統(tǒng),即面向?qū)ο蟮姆治雠c設(shè)計。其中貫徹了“萬物皆對象”的思想,即建模。
3、編寫代碼。根據(jù)系統(tǒng)的設(shè)計,定義系統(tǒng)中用到的類,并構(gòu)建相應(yīng)的實例,完成軟件代碼的編寫。
4、測試代碼。測試代碼的準(zhǔn)確性,即能否在任何情況下都能正確的工作。
5、分發(fā)、使用與維護軟件。
由以上步驟也可以看出,以上步驟中后四個幾乎都是在圍繞類的定義與使用開展工作。