上次介紹了如何從現實世界的對象抽象出軟體系統中的對象,本次介紹如何從軟體系統中的對象抽象出需要在軟體系統中建立的類型。而程式在運行過程中使用的是對象,所以在啟動並執行時候需要根據類型建立(new)對象。
從軟體系統中的對象抽象出類型 在10路公交系統中有很多10路車,那麼在10路公交虛擬系統中是否需要把每個對象都進行類比?實際有多少汽車,在類比系統中就建立多少汽車,這是不現實的,當數量很大的時候,沒有辦法實現,或者如果增加或者減少汽車就需要重新修改系統。既然不能把現實中的每個對象都類比到系統中,那麼如何來類比現實世界? 通常的做法是構造一個類型,用這個類型來表示一些對象的集合,當需要使用某個對象的時候,可以使用這個類型建立一個對象。 表1列出了4輛汽車的相關屬性。表1 汽車樣本
| 汽車/屬性 |
編號 |
方向 |
位置 |
| 汽車1 |
遼B-31274 |
百合山莊——沙河口火車站 |
黃河路300米 |
| 汽車2 |
遼B-31288 |
百合山莊——沙河口火車站 |
軟體園路50米 |
| 汽車3 |
遼B-32293 |
沙河口火車站——百合山莊 |
西南路200米 |
| 汽車4 |
遼B-31287 |
沙河口火車站——百合山莊 |
西安路150米 |
根據這些汽車建立類型的過程,就是刪除對象的具體的值,形成一個抽象的對象,然後這些沒有屬性值的對象就相同了,這個對象就是抽象後的類型。 刪除屬性值之後上面的汽車對象都變成了: 某個汽車 有一個編號 有方向 有位置 這樣就可以在軟體系統中建立一個類型: 汽車:有一個編號,有方向,有位置。 這個抽象的過程就是刪除對象的具體的屬性。
根據類型建立對象 抽象出類型之後,如果需要描述汽車1,可以建立
汽車類型的對象,然後把它車牌號賦值為“遼B-31274”,方向賦值為“百合山莊——沙河口火車站”,位置賦值為“黃河路300米”。這樣就形成了軟體系統中的對象,它又表示了現實世界中的一輛汽車。具體在Java中如何?我們下一次介紹。 上一次:
第二十五講
軟體系統的對象與現實世界對象的關係下一次:
第二十七講 類的定義李緒成 CSDN Blog:http://blog.csdn.net/javaeeteacher邀請您為好友:http://student.csdn.net/invite.php?u=124362&c=7be8ba2b6f3b6cc5