淺談JAVA多態的實現

多態、封裝、繼承是面向對象的三大基本特徵,多態在實際編程中應用廣泛,理解如下:

1.強制類型轉換

例子   類A繼承自類B,有一個方法method(B b),此時有一個A類的實例化對象a,則我們可以調用method(a).

public interface UserDAO{}
public class UserDAOImp implements UserDAO{}
public static UserDAO getUserDAO()
	{
		return new UserDAODBImp();
	}
2.重載

同一函數名,參數的個數,類型可以不同,返回類型也可以不同

例子   構造函數

3.參數的多態

 參數多態允許把許多類型抽象成單一的表示。例如,List 抽象類中,描述了一組具有同樣特徵的對象,提供了一個通用的模板。你可以通過指定一種類型以重用這個抽象類。這些參數可以是任何用戶定義的類型,大量的用戶可以使用這個抽象類,因此參數多態毫無疑問的成爲最強大的多態。

  乍一看,上面抽象類好像是java.util.List的功能。然 而,Java實際上並不支持真正的安全類型風格的參數多態,這也是java.util.List和java.util的其他集合類是用原始的 java.lang.Object寫的原因。Java的單根繼承方式解決了部分問題,但沒有發揮出參數多態的全部功能。

4.包含的多態

包含多態通過值的類型和集合的包含關係實現了多態的行爲.在包括Java在內的衆多面嚮對象語言中,包含關係是子類型的。所以,Java的包含多態是子 類型的多態。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章