程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 對象的概念

對象的概念

編輯:關於JAVA

什麼是對象?

對象是與狀態和行為有關的程序塊。程序中的對象都經常被當作現實世界中的事物對象的虛擬模型,這些對象都是我們生活中的常見的事物。這節課程將會告訴你,在對象中屬性和行為是怎樣表現的,並介紹 數據封裝 的概念,以及解釋像這樣做對於你的程序有什麼好處。

“對象”是理解面向對象技術(object-oriented technology)的關鍵。現在看看周圍,你會找到很多現實世界中的對象:你的狗,你的桌子,你的電視機還有你的自行車。

現實世界中的對象有兩個特性:它們都有狀態(state)和行為(behavior)。狗有自己的狀態(名字、顏色品種、是否饑餓),有自己的行為(脫毛、取東西、搖尾巴)。自行車也有自己的狀態(齒輪是否靈活、踏板的節奏、當前的速度),也有自己的行為(替換齒輪、替換踏板、剎車)。要按照面向對象設計程序最好的辦法就是在現實世界中確定對象的狀態和行為。

現在花幾分鐘去觀察現實世界中的對象,它們就在你的周圍。對於每一個你看到的對象都對自己提兩個問題:“在這個對象中可能的狀態是什麼?” 和 “這個對象可能會有什麼樣的行為?”。確定下來並且寫下你所觀察到的。正如你所做的,你會發現現實世界中的對象變化有多麼復雜;你桌上的燈可能有兩個狀態(開著、關著),還有可能有兩個行為(打開、關閉),但是你桌上的收音機也許還有另外的狀態(開著、關著、當前的音量、當前的配置) 和行為 (打開,關閉、增加音量、降低音量、查找、掃描、音調)。你也許也注意到了這樣的對象,依次,也會包括那樣的對象。這些現實世界中的觀察事物都能夠被引入到面向對象的世界中。

一個程序中的對象

程序中的對象與現實世界中對象的概念相同:都由狀態和相關的行為構成。對象以字段fields(程序中的變量)存儲狀態 和 通過方法methods(程序中的函數)揭示行為。方法控制對象的內在狀態以及通過自己私有的機理為對象之間建立聯系。隱藏內在狀態和通過對象的方法,這些方法是被封裝起來的,可以完成所有的交互。數據封裝是面向對象程序設計的基本理念。

考慮一下自行車,比如:

自行車被想象為程序的一個對象

通過歸結的狀態(當前速度、當前踏板的頻率和當前齒輪)和為了改變狀態所提供的方法,在其外也可以允許使用它來控制對象。打個比方,如果自行車有6個齒輪,通過一個改變齒輪的方法可能會丟棄一個或六個齒輪。

將代碼添加到私有的對象當中有這麼幾個好處:

1.模塊性:

針對一個對象的代碼就不依賴於其他的對象代碼。一旦創建,這個對象就很容易地傳遞到系統當中。

2.信息隱蔽性:

通過與對象方法相結合,內在詳細的執行信息就不會顯露在外面了。

3.代碼復用性:

如果對象一旦存在(也許是有其他軟件開發人員編寫的),你就可以在你的項目中使用。這允許專家們去實現、測試和調試復雜的和特定的對象,這些對象只要你認為可行,你就可以添加到你的代碼中去。

4.塞入和調試容易:

如果有一個對象有問題,你可以很容易地從你的應用中祛除,並且可以用其他的對象代替。這類似於在現世界中確定機器的問題一樣。如果門闩壞了,你就把它更換了,而不是更換整個機器。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved