1. 程式人生 > >JAVA面向物件三大特性以及抽象類、介面

JAVA面向物件三大特性以及抽象類、介面

初識JAVA面向物件 提起面向物件,我們也就想到了面向過程。那麼何為面向物件呢?簡言之萬物皆物件…眾生芸芸,雲裡霧裡不能自已。 好了,步入正題,面向物件是JAVA這門語言的核心所在。要想使用這門語言在猿界立足,一定得要有面向物件的這種程式設計思想。 一、面向物件 ①面向物件和麵向過程,字面理解,一個注重的是物件,一個注重的是過程。②面向物件,我們只需要瞭解,我們的物件都有誰,我們的物件會做什麼即可,剩下的事情交給它們去做即可。如:蓋房子,我們只用知道房子蓋成需要用到哪些工種,然後我們去尋找具備這些技能的工種,讓他們來建設房子,我們只當監工。主要關注結果就行。 ③面向過程,我們需要詳細的知道每一步該如何走,如何去幹,事必躬親。如:我們要蓋房子,需要查勘量測,畫出設計圖,然後砌牆上頂,貼磚抹灰等等,每一步都要詳細的去設計好,主要關注的是過程。 二、面向物件的特性

封裝、繼承、多型 ①封裝 JAVA中我們使用private關鍵字來對類成員進行封裝。private的意思就是私有的。只允許再本類中訪問該型別修飾的成員,以此來達到封裝的目的。如果要在其他類中,訪問被private修飾的成員變數,那我們可以通過在該成員變數所在的類中,寫公共(public)的set、get方法。其他類通過呼叫該公共的方法,來為私有的變數進行賦值和讀取操作。 ②繼承 關鍵字extends. 繼承也就是子類繼承父類所有的成員,包括父類私有的成員。但是私有的成員只能繼承,不能獲取。JAVA中的繼承只能是單繼承,不能多繼承。1個父類可以被多個子類繼承,但1個子類只能有1個直接父類,可以有多個間接父類。 ③多型
多型的必要條件就是繼承,只有繼承了才能實現多型。多型就是:子類對父類的多種形態體現。多個子類可以繼承自同一個父類,這個父類的引用,可以指向其中的任何一個子類,這就是多型。 父類引用指向子類物件,只能使用父類與子類共有的方法,不能訪問子類獨有的方法,也就是說子類必須實現對父類的方法重寫。如果要訪問子類獨有的方法,那麼就必須對父類物件強制造型為子類型別,此時才可使用子類獨有的成員。 其實除了這3大特性之外,JAVA語言中,還有抽象類和介面這兩大特性同樣重要。 ④抽象類 我們再說抽象類之前,必須要知道其關鍵字abstract。其可以修飾類和方法,被abstract修飾過的,我們稱之為抽象類和抽象方法。 抽象類和具體類:①抽象類,某一類不同事物的抽象定義②具體類,某種事物的抽象定義。 <1>抽象類用abstract關鍵字修飾,和具體類的區別在於:①抽象類可以有抽象方法②抽象類不能去new物件,無法建立自己的類物件。③具體類繼承了抽象類之後,必須實現抽象類中的抽象方法。除此之外並無其他區別,抽象類中既可以存在變數、構造器、也可以存在有方法體的方法。<2>抽象方法,被abstract修飾,沒有方法體的方法,我們稱之為抽象方法,抽象類中可以有抽象方法,也可以沒有。但一個類中一旦有了抽象方法之後,這個類繼續定義為抽象類。

⑤介面

不同類不同事物的共同行為的方法定義。 被interface修飾的,我們稱之為介面。為了便於理解,我們可以把他看做是一個類, 但要切記介面並不是一個類,只不過它具有類的許多特性。介面再JAVA中的作用,主要是彌補類的單繼承。對,你沒有猜錯,介面是可以實現多繼承的。 介面的內部構成:①介面中的屬性必須是公共的全域性的常量②介面中的方法都是抽象的方法。 類可以實現(implements )多個介面,介面之間用逗號隔開。 介面可以使用多繼承,一個介面可以只繼承1個介面,也可以繼承多個介面。