Java編程思想 多態

多態

1.多態相關概念

面向對象的程序設計特點:多態、繼承、封裝

動態綁定:在運行時根據對象類型調用相應的方法。

後期綁定:在運行時根據對象的類型進行綁定。

java中除了static方法和final方法(private方法屬於final方法),所有方法都是後期綁定。域和靜態方法不可多態,因爲是在編譯期初始化 。

多態(也被成爲動態綁定、後期綁定和運行時綁定):將整個繼承體系的對象作爲同一類對象使用,代碼可以毫無差別的應用在這些類上。

由於有多態機制,可以根據自己的需要在系統中添加任意多的新類型,但不用改變相應的方法,這樣的程序是可擴展的

2.向上轉型

向上轉型:將派生類作爲基類使用。用以基類爲參數的方法應用在派生類上。

3.組合和繼承

在建立新類時應該首先考慮採用組合的方法,因爲在程序運行中可以改變引用,但是無法改變類的繼承關係。可以說,組合更具有靈活性

4.一段有趣的程序:
public class RandomShapeGenerator {
    private Random rand = new Random(47);
    public Shape next() {
        switch(rand.nextInt(3)) {//隨機產生數字,決定生成何種對象
            default:
            case 0: return new Circle();
            case 1: return new Square();
            case 2: return new Triangle();
        }
    }
}
Shape[] s = new Shape[9];
for(int i = 0; i < s.length; i++) {
    s[i] = gen.next();//爲隨機生成的對象產生一個引用
}
發佈了48 篇原創文章 · 獲贊 13 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章