我需要解決這個問題 - 區別泛型和多態使用代碼示例。 我知道它的相關somthing編譯時間或綁定,但我不知道..請幫助泛型和多態性
Q
泛型和多態性
-2
A
回答
10
6
除了以前的答案......我將使用Java,但概念幾乎相同。 Java通用方法和泛型類使程序員能夠使用單個方法聲明指定一組相關方法,或者使用單個類聲明分別指定一組相關類型。
例如
使用Java泛型的概念,我們可以寫爲 泛型方法排序對象的數組,然後調用與 整數數組,雙數組,字符串數組等,一般的方法,將 數組元素進行排序。
public class GenericMethodTest
{
// generic method printArray
public static <E> void printArray(E[] inputArray)
{
// Display array elements
for (E element : inputArray){
System.out.printf("%s ", element);
}
System.out.println();
}
public static void main(String args[])
{
// Create arrays of Integer, Double and Character
Integer[] intArray = { 1, 2, 3, 4, 5 };
Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4 };
Character[] charArray = { 'H', 'E', 'L', 'L', 'O' };
System.out.println("Array integerArray contains:");
printArray(intArray ); // pass an Integer array
System.out.println("\nArray doubleArray contains:");
printArray(doubleArray); // pass a Double array
System.out.println("\nArray characterArray contains:");
printArray(charArray); // pass a Character array
}
}
多態性是一個對象的採取許多形式的能力。當使用父類引用來引用子類對象時,OOP中最常見的使用多態性。
重要的是要知道訪問對象的唯一可能方式是通過引用變量。參考變量只能是一種類型。一旦聲明,參考變量的類型不能改變。
例如,
public interface Vegetarian{}
public class Animal{}
public class Deer extends Animal implements Vegetarian{}
現在下面的聲明是合法的:
Deer d = new Deer();
Animal a = d;
Vegetarian v = d;
Object o = d;
相關問題
- 1. Java泛型和多態性
- 2. 泛型類型多態性
- 3. C#泛型與多態性
- 4. C#泛型基多態性
- 5. C#泛型類型的多態性
- 6. 多態,泛型和匿名類型C#
- 7. 多態性而iheriting泛型類
- 8. Delphi中的多態性泛型
- 9. 接口中的泛型類型和多態性
- 10. C#:泛型,多態和專業化
- 11. 如何使用多態性和泛型類層次與JAXB
- 12. 訪問泛型類的靜態屬性?
- 13. 動態添加泛型現有屬性
- 14. c#多態性+泛型設計 - 需要建議
- 15. 處理泛型時在VB.Net中的多態性
- 16. C#方法多態與泛型的性能
- 17. 更新泛型類的泛型屬性?
- 18. 模擬多態/泛型枚舉 - C#
- 19. 具有多態的泛型映射
- 20. Java泛型:多個泛型參數?
- 21. Scala抽象類型和多態性
- 22. Haskell多態性和類型實例
- 23. C++多態性和類型鑄造
- 24. Groovy靜態泛型類型
- 25. 鑄造泛型和泛型類型
- 26. Java泛型,單例和靜態方法
- 27. 靜態類/方法this和泛型
- 28. 問題的泛型和鑄態
- 29. C#泛型和多態:一個矛盾嗎?
- 30. Ninject中的泛型和屬性綁定
作品還有一個類似的問題: http://stackoverflow.com/questions/2423231/polymorphism-relates-inheritance – 2010-03-11 07:45:30
未顯示差異壽。 – Younes 2010-03-11 07:47:15
我已經在http://stackoverflow.com/questions/5854581/polymorphism-in-c/5854862#5854862回答了類似的問題,這可能有所幫助。代碼示例非常簡單 - 僅足以說明每個概念。 – 2011-06-16 06:00:25