物件導向有哪些特性
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-2707387/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Java基礎知識】物件導向有哪些特性Java物件
- 『Java 語法基礎』物件導向有哪些特性Java物件
- golang 物件導向特性Golang物件
- Java物件導向三大特性Java物件
- 08 ### 物件導向三大特性物件
- 物件導向 -- 三大特性之多型物件多型
- Python物件導向三大特性Python物件
- C++物件導向三大特性C++物件
- 物件導向-物件導向思想物件
- 2.1.1 Python物件導向三大特性Python物件
- 物件導向 -- 三大特性之繼承物件繼承
- 物件導向 -- 三大特性之封裝物件封裝
- java基礎 - 物件導向三大特性Java物件
- 第十八章 物件導向的特性物件
- [.net 物件導向程式設計基礎] (13) 物件導向三大特性——多型物件程式設計多型
- [.net 物件導向程式設計基礎] (12) 物件導向三大特性——繼承物件程式設計繼承
- [.net 物件導向程式設計基礎] (11) 物件導向三大特性——封裝物件程式設計封裝
- 11-物件導向-2-三大特性物件
- 設計模式(二):物件導向及其特性分析設計模式物件
- swift物件導向特性——類和結構體Swift物件結構體
- C#物件導向三大特性總結C#物件
- Java物件導向04——三大特性之多型Java物件多型
- 深入理解物件導向,物件導向3個特性7個原則6種關係物件
- 程式導向與物件導向物件
- 物件導向與程式導向物件
- “程序導向”和“物件導向”物件
- Java中物件導向三大特性之繼承Java物件繼承
- PHP物件導向深入研究之【高階特性】PHP物件
- Java物件導向03——三大特性之繼承Java物件繼承
- 物件導向物件
- 物件導向,搞定物件物件
- PHP 物件導向 (九)物件導向三大特徵PHP物件特徵
- JAVA物件導向基礎--物件導向介紹Java物件
- 從程式導向到物件導向物件
- 物件導向三大特性-----封裝、繼承、多型物件封裝繼承多型
- 物件導向(下)物件
- 物件導向 -- 反射物件反射
- PHP物件導向PHP物件