【Java基礎知識】物件導向有哪些特性
Java是一門物件導向的語言,物件導向的主要特點有封裝,繼承,多型
封裝,意思就是把類的一些屬性進行封裝(“隱藏”),儘可能的避免直接訪問物件一些屬性,以保證其安全性,如果必須要訪問這些屬性,我們可以單獨的提供一些介面(共有方法)進行訪問,這樣我們就可以避免因為直接訪問屬性資訊造成的誤操作。
繼承,在我們的生活中也有很多的繼承關係,比如子承父業,在Java中,我們也可以有繼承的概念,但是繼承只存在於父子類(介面)中,比如我們經常說的Dog類繼承於Animal類,動物類Animal具有自己的一些屬性,Dog屬於Animal的一種,所以具有Animal的一些屬性,但是Dog也有自己的一些特定屬性,這時候如果我們單獨在重新建立一個類Dog,就需要重新寫一遍Animal類的屬性,既費時又不好維護,這時候我們就可以使用繼承,使用Dog類繼承Animal類,這時候,Dog就包含了Animal類的一些屬性,就不需要我們多次重複寫這些屬性了。
多型,即對於同一個物件,可能執行出不同的結果,比如上面的Animal類,我們建立他的兩個子類,分別為Dog和Cat,Animal有個方法叫做public void jiaoSheng() { System.out.println( “動物叫聲” ) ; } 兩個子類分別重寫了這個方法,實現形式Dog:public void jiaoSheng() { System.out.pringln( “狗叫聲” ) ; }, Cat: public void jiaoSheng() { System.out.println( “貓叫聲” ) ; },這時候我們可以建立一個Animal物件 animal = new Animal( );這時候我們呼叫animal.jiaoSheng() ;列印出 “動物叫聲”;當animal = new Dog( ) ;的時候,我們呼叫animal.jiaoSheng() ; 列印出 “狗叫聲”;當 animal = new Cat() ;的時候,我們呼叫animal.jiaoSheng() ; 列印出“貓叫聲”;對於同一個物件animal我們呼叫同一個方法的時候,列印出的結果是不相同的,利用多型,我們就可以進行很多的擴充套件,而不需要過多的去修改原先的程式碼,可以保證程式碼的可維護性;從上面我們可以看得出來,如果要有多型,需要滿足三個條件,第一個繼承(或實現介面),第二個重寫,也就是需要重寫父類裡面的方法,否則不會實現多型,物件呼叫的還是父類的方法,第三個父類引用指向子類物件,就像上面的animal他是一個Animal類的物件,但我們new的時候,建立的是子類Dog和Cat類的兩個物件;
以下為原始碼示例:
public class Animal{
public void jiaoSheng() {
System.out.println(“動物叫聲”);
}
}
public class Dog extends Animal{
@Override
public void jiaoSheng() {
System.out.println(“狗叫聲”);
}
}
public class Cat extends Animal{
@Override
public void jiaoSheng() {
System.out.println(“貓叫聲”);
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31543790/viewspace-2706085/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 『Java 語法基礎』物件導向有哪些特性Java物件
- 物件導向有哪些特性物件
- java基礎 - 物件導向三大特性Java物件
- Java常見知識點彙總(③)——物件導向基礎Java物件
- Java 物件導向基礎 以及進階知識 總結Java物件
- JAVA(一)JAVA基礎/物件導向基礎/高階物件導向Java物件
- Java基礎-物件導向基礎Java物件
- JAVA物件導向基礎Java物件
- 【Java 基礎】——物件導向Java物件
- Java基礎 --- 物件導向Java物件
- JAVA物件導向基礎--物件導向介紹Java物件
- Objective-C 基礎一:物件導向過程基礎知識Object物件
- 夯實Java基礎系列1:Java物件導向三大特性(基礎篇)Java物件
- java基礎二:物件導向Java物件
- 【Java基礎】物件導向開發Java物件
- (Java筆記)物件導向基礎Java筆記物件
- 【Java基礎】--再談物件導向Java物件
- JAVA物件導向基礎--異常Java物件
- 物件導向小知識物件
- 物件導向基礎物件
- [.net 物件導向程式設計基礎] (13) 物件導向三大特性——多型物件程式設計多型
- [.net 物件導向程式設計基礎] (12) 物件導向三大特性——繼承物件程式設計繼承
- [.net 物件導向程式設計基礎] (11) 物件導向三大特性——封裝物件程式設計封裝
- Java 基礎(一)重新理解物件導向Java物件
- Java基礎 --- 物件導向綜合訓練Java物件
- Java物件導向三大特性Java物件
- php物件導向知識點PHP物件
- java物件導向程式設計的基本知識Java物件程式設計
- PHP物件導向基礎PHP物件
- Java基礎01 從HelloWorld到物件導向Java物件
- Linux有哪些特性值得喜愛?linux基礎知識學習Linux
- Objective-C 基礎教程第三章,物件導向程式設計基礎知識Object物件程式設計
- PHP 物件導向基礎概念PHP物件
- python物件導向[基礎]Python物件
- 12 物件導向基礎-1物件
- Golang 基礎之物件導向Golang物件
- JAVA物件導向基礎--N種內部類Java物件
- java培訓基礎知識都學哪些Java