OOP: 理解類和物件(2) (轉)
OOP: 理解類和物件(2) (轉)[@more@]: 理解類和(2)
[ 作者: 不詳 新增時間: 2001-9-7 8:10:45 ]
{
public boolean isAMammal()
{
return(false);
}
public boolean isCarnivorous()
{
return(false);
}
public String getHello()
{
return("Quack");
}
}
在編譯並執行我們的以後,輸出應該如下:
A dog says Bark, is carnivorous: true, is a mammal: true
A cat says Meow, is carnivorous: true, is a mammal: true
A duck says Quack, is carnivorous: false, is a mammal: false
看看我們的例子,你將發現我們定義了一個叫做Animal的新類,它定義了三個方法:isAMammal, isCarnivorous, 和 getHello.你一概還注意到了,我們在每個現存的類申明的前面都新增了extends Animal這個語句.這個語句告訴這些物件是Animal類的子類.
因為方法isAMammal 和 isCarnivorous 都返回 true,所以Dog和Cat類用不著重新實現--即"過載"這兩個方法.但是鴨子既不是哺乳動物又不是肉食性的,所以Duck類需要過載這兩種方法來返回正確的值.我們所有的物件都以自己獨特的方式說"hello",所以它們都需要過載getHello方法.因為每種動物說"hello"的方式都不同,所以我們在基類中將getHello方法申明為抽象的,而且我們沒有給這個方法一個體.這就迫使Animal的每一個子類過載getHello方法並根據每一個特定動物的需要來定義它.
因為我們將getHello方法申明為虛擬的,我們就不能直接例項化Animal物件.因此,我們需要將Animal類也申明為抽象的.我們透過在Animal類定義的開始行新增abstract關鍵字來實現這一點.子類過載它們基類的方法的能力就是多型.多型使得子類能夠使用基類的方法或是在這些方法不足的時候過載它們.這就實現了程式碼重用,加快了程式碼的實現過程,而且它還隔離和程式中的,使得程式的維護更容易.
總結
在本文中,我們學習瞭如何確定潛在的物件.我們還學習瞭如何使用繼承和多型來加快我們的程式碼實現過程並隔離錯誤,這使得程式碼的維護過程更加容易.下一次,我們將展開討論多型和繼承的概念並開始我們對動態繫結的討論.
[ 作者: 不詳 新增時間: 2001-9-7 8:10:45 ]
{
public boolean isAMammal()
{
return(false);
}
public boolean isCarnivorous()
{
return(false);
}
public String getHello()
{
return("Quack");
}
}
在編譯並執行我們的以後,輸出應該如下:
A dog says Bark, is carnivorous: true, is a mammal: true
A cat says Meow, is carnivorous: true, is a mammal: true
A duck says Quack, is carnivorous: false, is a mammal: false
看看我們的例子,你將發現我們定義了一個叫做Animal的新類,它定義了三個方法:isAMammal, isCarnivorous, 和 getHello.你一概還注意到了,我們在每個現存的類申明的前面都新增了extends Animal這個語句.這個語句告訴這些物件是Animal類的子類.
因為方法isAMammal 和 isCarnivorous 都返回 true,所以Dog和Cat類用不著重新實現--即"過載"這兩個方法.但是鴨子既不是哺乳動物又不是肉食性的,所以Duck類需要過載這兩種方法來返回正確的值.我們所有的物件都以自己獨特的方式說"hello",所以它們都需要過載getHello方法.因為每種動物說"hello"的方式都不同,所以我們在基類中將getHello方法申明為抽象的,而且我們沒有給這個方法一個體.這就迫使Animal的每一個子類過載getHello方法並根據每一個特定動物的需要來定義它.
因為我們將getHello方法申明為虛擬的,我們就不能直接例項化Animal物件.因此,我們需要將Animal類也申明為抽象的.我們透過在Animal類定義的開始行新增abstract關鍵字來實現這一點.子類過載它們基類的方法的能力就是多型.多型使得子類能夠使用基類的方法或是在這些方法不足的時候過載它們.這就實現了程式碼重用,加快了程式碼的實現過程,而且它還隔離和程式中的,使得程式的維護更容易.
總結
在本文中,我們學習瞭如何確定潛在的物件.我們還學習瞭如何使用繼承和多型來加快我們的程式碼實現過程並隔離錯誤,這使得程式碼的維護過程更加容易.下一次,我們將展開討論多型和繼承的概念並開始我們對動態繫結的討論.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990130/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OOP: 理解類和物件(1) (轉)OOP物件
- PHP物件導向(OOP)—-分頁類PHP物件OOP
- 實驗2 類和物件物件
- Delphi中的類和物件 (轉)物件
- 物件導向(oop)物件OOP
- 深入理解python中的類和物件Python物件
- java學習中對類和物件的理解Java物件
- C# OOP:繼承,介面和抽象類C#OOP繼承抽象
- 理解數字化轉型:3個階段、2個分類和3類價值
- 物件和類物件
- 類和物件物件
- Kotlin 物件導向程式設計 (OOP) 基礎:類、物件與繼承詳解Kotlin物件程式設計OOP繼承
- Scala 學習筆記(2)之類和物件筆記物件
- Scala 類和物件物件
- Java 物件和類Java物件
- 類和物件(中)物件
- Java 類和物件Java物件
- Java物件和類Java物件
- scala類和物件物件
- 類和物件案例物件
- 理解Java中物件基礎Object類Java物件Object
- 用汽車比喻理解OOP - Jonathan KuhlOOP
- 實驗2 類與物件物件
- 深入理解java的抽象類和介面(轉載)Java抽象
- 實驗2 類和物件 基礎程式設計1物件程式設計
- 實驗2 類和物件_基礎程式設計1物件程式設計
- 實驗三 類和物件 基礎程式設計2物件程式設計
- 實驗三 類和物件_基礎程式設計2物件程式設計
- 實驗3 類和物件——基礎程式設計2物件程式設計
- 實驗3 類和物件 基礎程式設計2物件程式設計
- 實驗3 類和物件_基礎程式設計2物件程式設計
- MVP模式(2):你真的理解下抽象類和介面嗎??MVP模式抽象
- c++類和物件C++物件
- 類圖和物件圖物件
- 認識類和物件物件
- 【Kotlin】類和物件Kotlin物件
- 6.類和物件物件
- C++ 類和物件C++物件