JAVA中類與對象的概念


把客觀世界中的事物映射到面向對象的程序設計中就是對象。對象是面向對象程序設計中用來描述客觀事物的程序單位。客觀世界中的許多對象,無論其屬性還是其行為常常有許多共同性,抽象出這些對象的共同性便可以構成類。所以,類是對象的抽象和歸納,對象是類的實例。

一、抽象原則

 所謂抽象(abstraction),就是從被研究對象中舍棄個別的、非本質的或與研究主旨無關的次要特征,而抽取其與研究工作有關的實質性內容加以考察,形成對所研究問題正確的、簡明扼要的認識。抽象是科學研究中經常使用的一種方法,是形成概念的必要手段。在計算機軟件開發領域,抽象原則的運用非常廣泛,概括起來,可分為過程抽象和數據抽象兩類。

     1. 過程抽象

  過程抽象是指:軟件開發者可以把任何一個完成確定功能的操作序列都看作是一個單一的實體,盡管它實際上可能是由一系列更低級的操作完成的。運用過程抽象,軟件開發者可以把一個復雜的功能分解為一些子功能(模塊),如果子功能仍比較復雜,則可以進一步分解。這使得開發者可以在不同的抽象層次上考慮問題,在較高層次上思考時可以不關心較低層次的實現細節。面向過程的程序設計采用的是過程抽象方法學。 使用過程抽象有利於控制、降低整個程序的復雜度,但是,這種方法允許在全系統的范圍內進行功能的描述,本身自由度大,難於規范化和標准化,不易保證軟件的質量,而且操作起來也有一定難度。

  2. 數據抽象

數據抽象把系統中需要處理的數據和施加於這些數據之上的操作結合在一起,根據功能、性質、作用等因素抽象成不同的抽象數據類型。每個抽象數據類型既包含了數據,也包含了針對這些數據的授權操作,並限定數據的值只能由這些操作來觀察和修改。因此,數據抽象是相對於過程抽象更為嚴格、更為合理的抽象方法。     面向對象的程序設計就是采用數據抽象這一方法學來構建程序中的類和對象的。它強調把數據和操作結合為一個不 可分的系統單位--對象,對象的外部只需要知道這個對象能做什么,而不必知道它是如何做的。

二、什么是對象

把客觀世界的這一事實映射到面向對象的程序設計中,則把問題域中的事物抽象成對象(Object),事物的靜態特征(屬性)用一組數據來描述,事物的動態特征(行為)則用一組方法來刻划。因此,對象具有下述特征:

1. 對象標識:即對象的名字,是用戶和系統識別它的唯一標志。對象標識有“外部標識”和“內部標識”之分。外部標識供對象的定義者或使用者用,內部標識供系統內部唯一地識別每一個對象。 2. 屬性:即一組數據,用來描述對象的靜態特征。在Java程序中,把這一組數據稱為數據成員。 3. 方法:也稱為服務或操作,它是對象動態特征(行為)的描述。每一個方法確定對象的一種行為或功能,為避免混淆,本書中把方法稱為成員方法。 在Java程序中,類是創建對象的模板,對象是類的實例,任何一個對象都是隸屬於某個類的。

三、什么是類

對象是對事物的抽象,而類是對對象的抽象和歸納。分類所依據的原則是抽象,即抽象出能反映與當前目標有關的本質特征,而忽略那些與當前目標無關的非本質特征,從而找出事物的共性,把具有共同性質的事物歸結為一類,得出一個抽象的概念——類。     在面向對象的編程語言中,類是一個獨立的程序單位,是具有相同屬性和方法的一組對象的集合。類的概念使我們能對屬於該類的全部對象進行統一的描述。因此,在定義對象之前應先定義類。描述一個類需要指明下述三個方面:

  1. 類標識。類的一個有別於其它類的名字,這是必不可少的。   2. 屬性說明。用來描述相同對象的靜態特征。   3. 類的方法。用來描述相同對象的動態特征。 例如:下面是對dog類進行的描述:

四、類與對象的關系

類給出了屬於該類的全部對象的抽象定義,而對象則是符合這種定義的一個實體。類與對象之間的關系就如同一個模具與用這個模具鑄造出來的鑄件之間的關系一樣。也就是說,我們可以把類與對象之間的關系看成是抽象與具體的關系。在面向對象的程序設計中,對象被稱作類的一個實例(instance),而類是對象的模板(temp1ate)。類是多個實例的綜合抽象,而實例又是類的個體實物。 圖4.2 類與對象的關系 由於對象是類的實例,因此在定義對象之前應先定義類。在定義了類之后,才可以在類的基礎上創建對象。

五、定義類的一般格式

進行Java程序設計,實際上就是定義類的過程。一個Java源程序文件往往是由許多個類組成的。從用戶的角度看,Java源程序中的類分為兩種:   1. 系統定義的類,即Java類庫。它是系統定義好的類。類庫是Java語言的重要組成部分。Java語言由語法規則和類庫兩部分組成,語法規則確定Java程序的書寫規范;類庫則提供了Java程序與運行它的系統軟件(Java虛擬機)之間的接口。Java類庫是一組由它的發明者SUN公司以及其它軟件開發商編寫好的Java程序模塊,每個模塊通常對應一種特定的基本功能和任務,且這些模塊都是經過嚴格測試的,因而也總是正確有效的。

  2. 用戶自己定義的類。系統定義的類雖然實現了許多常見的功能,但是用戶程序仍然需要針對特定問題的特定邏輯來定義自己的類。

注:來自http://www.qy2x.com/faces/content/htmlcontent.xhtml?chakanid=22


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM