程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 對Java程序多態性支持的改進

對Java程序多態性支持的改進

編輯:關於JAVA

多態性(polymorphism)是面向對象編程的屬性,它允許多個方法使用同一個接口。Java從多個方面支持多態性,其中兩個方面最為突出。第一個是每個方法(標記為 final的方法除外)都可以被子類重寫;第二個是設立interface關鍵字。下面將給出這兩方面的詳細介紹。

由於超類中的方法可以在派生類中重寫,因此創建類的層次結構非常簡單。在類的層次結構中,每個子類都將它的超類特化(specialization)。大家知道,超類的一個引用可以引用它的任何一個子類,而且通過超類的引用調用某子類對象的一個方法時,會自動執行由該子類重寫後的版本。因此,可以用超類來定義對象的形式並提供對象的默認實現,而子類根據這種默認實現進行修改,以更好地適應具體情況的要求。因此,在超類中定義的一個接口可以作為多個不同實現的基礎。

當然,Java進一步采取了“一個接口,多個方法”的概念。它定義了interface關鍵字,這樣就可以將類的方法和類的實現完全分離。盡管接口是抽象的,但是仍然可以聲明接口類型的引用。這個概念非常重要,因為它可以改進多態性的應用。只要某個類實現一個接口,並且該接口提供了某種功能,那麼任何需要這種功能的代碼都可以使用這個類的對象。例如,假設某個接口的名稱為MyIF,考慮下面的方法:

void myMeth(MyIF ob) {

// ...

}

任何實現了MyIF接口的對象都可以傳遞給myMeth()方法。該對象的其他功能無需考慮。myMeth()方法可以對任何實現了MyIF接口的對象進行操作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved