Java面向對象程序設計的基本概念

Java語言提供類、接口和繼承等原語,爲了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,並支持類與接口之間的實現機制,下面是關於Java面向對象程序設計的基本概念,歡迎大家閱讀了解!

Java面向對象程序設計的基本概念

對象

何謂面向對象是什麼意思呢?

面向對象程序設計是將人們認識世界過程中普遍採用的思維方法應用到程序設計中。對象是現實世界中存在的事物,它們是有形的,如某個人、某種物品;也可以是無形的,如某項計劃、某次商業交易。對象是構成現實世界的一個獨立單位,人們對世界的認識,是從分析對象的特徵入手的。

對象的特徵分爲靜態特徵和動態特徵兩種。靜態的特徵指對象的外觀、性質、屬 性等;動態的特徵指對象具有的功能、行爲等。客觀事物是錯綜複雜的,但人們總是 從某一目的出發,運用抽象分析的能力,從衆多的特徵中抽取最具代表性、最能反映 對象本質的若干特徵加以詳細研究。

人們將對象的靜態特徵抽象爲屬性,用數據來描述,在 Java 語言中稱之爲變量;人們將對象的動態特徵抽象爲行爲,用一組代碼來表示,完成對數據的操作,在 Java 語言中稱之爲方法。一個對象由一組屬性和一組對屬性進行操作的方法構成。

將具有相同屬性及相同行爲的一組對象稱爲類。廣義地講,具有共同性質的事物的集合就稱爲類。

在面向對象程序設計中,類是一個獨立的單位,它有一個類名,其內部包括成員變量,用於描述對象的屬性;還包括類的成員方法,用於描述對象的行爲。在 Java 程 序設計中,類被認爲是一種抽象數據類型,這種數據類型,不但包括數據,還包括方法。這大大地擴充了數據類型的概念。

類是一個抽象的概念,要利用類的方式來解決問題,必須用類創建一個實例化的類對象,然後通過類對象去訪問類的成員變量,去調用類的成員方法來實現程序的功能。這如同“汽車”本身是一個抽象的概念,只有使用了一輛具體的汽車,才能感受到汽車的功能。

一個類可創建多個類對象,它們具有相同的屬性模式,但可以具有不同的屬性值。Java 程序爲每一個類對象都開闢了內存空間,以便保存各自的屬性值。

面向對象的.程序設計有三個主要特徵:封裝性,繼承性,多態性

封裝性

封裝是面向對象的方法所應遵循的一個重要原則。

它有兩個含義:一是指把對象的屬性和行爲看成一個密不可分的整體,將這兩者“封裝”在一個不可分割的獨立單位(即對象)中。

另一層含義指“信息隱蔽”,把不需要讓外界知道的信息隱藏起來,有些對象的屬性及行爲允許外界用戶知道或使用,但不允許更改,而另一些屬性或行爲,則不允許外界知曉;或只允許使用對象的功能,而儘可能隱蔽對象的功能實現細節。

封裝機制在程序設計中表現爲,把描述對象屬性的變量及實現對象功能的方法合在一起,定義爲一個程序單位,並保證外界不能任意更改其內部的屬性值,也不能任意調動其內部的功能方法。

封裝機制的另一個特點是,爲封裝在一個整體內的變量及方法規定了不同級別的 “可見性”或訪問權限。

繼承性

繼承是面向對象方法中的重要概念,並且是提高軟件開發效率的重要手段。

首先擁有反映事物一般特性的類,然後在其基礎上派生出反映特殊事物的類。如已有的汽車的類,該類中描述了汽車的普遍屬性和行爲,進一步再產生轎車的類,轎車的類是繼承於汽車類,轎車類不但擁有汽車類的全部屬性和行爲,還增加轎車特有的屬性和行爲。

在 Java 程序設計中,已有的類可以是 Java 開發環境所提供的一批最基本的程序——類庫。用戶開發的程序類是繼承這些已有的類。這樣,現在類所描述過的屬性及行爲,即已定義的變量和方法,在繼承產生的類中完全可以使用。被繼承的類稱爲父類或超類,而經繼承產生的類稱爲子類或派生類。根據繼承機制,派生類繼承了超類的所有成員,並相應地增加了自己的一些新的成員。

面向對象程序設計中的繼承機制,大大增強了程序代碼的可複用性,提高了軟件的開發效率,降低了程序產生錯誤的可能性,也爲程序的修改擴充提供了便利。

若一個子類只允許繼承一個父類,稱爲單繼承;若允許繼承多個父類,稱爲多繼承。目前許多面向對象程序設計語言不支持多繼承。而 Java 語言通過接口(interface) 的方式來彌補由於 Java 不支持多繼承而帶來的子類不能享用多個父類的成員的缺憾。

類的多態性

多態是面向對象程序設計的又一個重要特徵。多態是允許程序中出現重名現象。 Java 語言中含有方法重載與成員覆蓋兩種形式的多態。

方法重載:在一個類中,允許多個方法使用同一個名字,但方法的參數不同,完成的功能也不同。

成員覆蓋:子類與父類允許具有相同的變量名稱,但數據類型不同,允許具有相同的方法名稱,但完成的功能不同。

多態的特性使程序的抽象程度和簡捷程度更高,有助於程序設計人員對程序的分 組協同開發。