《java與模式》筆記-----抽象類和接口

抽象類和接口

什麽是接口:接口就是一些方法特征的集合------接口是對抽象的抽象。

什麽是抽象類:抽象類對某具體類型的部分實現------抽象類是對具體的抽象。

方法特征包括:方法的名字、參數的數目、參數的類型。不包括:返回類型、參數名字、和抛出的異常。

接口是類型轉換的前提、是動態調用的保證。實現某一接口就完成了類型的轉換(多重繼續);動態調用只關心類型,不關心具體類。

--------------------------------------------------------------------------------------------------------------------------------------

Java接口(抽象類)用來聲明一個新的類型。

Java設計師應當主要使用接口和抽象類將軟件單位與內部和外部耦合起來。

換言之,應當使用java接口和抽象類而不是具體類進行變量的類型聲明、參數的類型聲明、方法的返回類型聲明、以及數據類型的轉換等。

當然一個更好的做法是僅僅使用接口,而不是抽象類來做上面這些事情。

在理想的情況下,一個具體類應當只實現接口和抽象類中聲明的方法,而不應當給出多余的方法!

接口和抽象類一般作爲一個類型等級結構的起點。

接口比抽象類更爲抽象所以優先使用接口聲明抽象類型!

--------------------------------------------------------------------------------------------------------------------------------------

抽象類和接口

抽象類僅提供一個類的部分實現。抽象類可以有實例變量、以及一個或多個構造函數。抽象類可以同時又抽象方法和具體方法。

一個抽象類不會有實例,它的構造函數不能被客戶端用來創建實例。一個抽象類的構造函數可以被其子類調用,從而使一個抽象類的所有子類可以有一些共同的實現,而不同的子類可以在此基礎上有不同的實現。

接口比抽象類更爲抽象所以有線使用接口聲明抽象類!

抽象類是用來繼續的。(具體類不是用來繼續的,“只要有可能不要從具體類繼續---scott meryes”)。

抽象類設計原則:

1, 抽象類應當擁有盡可能多的代碼!(公用方法)。代碼集中于抽象的方向。

2, 抽象類應當擁有盡可能少的數據!(公共屬性)。數據集中于具體的方向。

繼續複用的使用條件------- Peter Coad條件

1. 子類是超類的一個非凡種類而不是超類的一個角色!正確區分“Has-A”“Is-A”的關系。

2. 子類之間不應發生替換!?

3. 子類具有擴展超類的責任,而不是置換(Override)掉或注銷(Nullify)掉的責任。

4. 只有在分類學角度上有意義時才可以使用繼續,不要從具體類繼續。

《java與模式》筆記-----抽象類和接口
抽象類和接口什麽是接口:接口就是一些方法特征的集合------接口是對抽象的抽象。什麽是抽象類:抽象類對某具體類型的部分實現------抽象類是對具體的抽象。方法特征包括:方法的名字、參數的數目、參數的類型。不包...查看完整版>>《java與模式》筆記-----抽象類和接口
 
《JAVA與模式》學習筆記之接口與抽象類
《JAVA與模式》學習筆記之接口與抽象類 接口: 一個JAVA接口是一些方法特征的集合,這些方法特征當然來自于具體方法,但是它們一般都是來自于一些在系統中不斷出現的方法。一個接口只有方法的特征,而沒有方法的實現...查看完整版>>《JAVA與模式》學習筆記之接口與抽象類
 
選擇Java接口還是抽象類
  選擇Java接口還是抽象類    作者:俞良松 本文選自:開放系統世界-賽迪網 2003年03月12日    很多人有過這樣的疑問:爲什麽有的地方必須使用接口而不是抽象類,而在另一些地方,又必須使用抽象類而不是...查看完整版>>選擇Java接口還是抽象類
 
選擇Java接口還是抽象類
  選擇Java接口還是抽象類  作者:俞良松 本文選自:開放系統世界-賽迪網 2003年03月12日  很多人有過這樣的疑問:爲什麽有的地方必須使用接口而不是抽象類,而在另一些地方,又必須使用抽象類而不是接口呢?...查看完整版>>選擇Java接口還是抽象類
 
選擇Java接口還是抽象類
選擇Java接口還是抽象類    作者:俞良松 本文選自:開放系統世界-賽迪網 2003年03月12日      很多人有過這樣的疑問:爲什麽有的地方必須使用接口而不是抽象類,而在另一些地方,又必須使用抽象類而不是...查看完整版>>選擇Java接口還是抽象類
 
詳細解析Java中抽象類和接口的區別
  在Java語言中, abstract class 和interface 是支持抽象類定義的兩種機制。正是由于這兩種機制的存在,才賦予了Java強大的 面向對象能力。abstract class和interface之間在對于抽象類定義的支持方面具有很大的相...查看完整版>>詳細解析Java中抽象類和接口的區別
 
Java Q&A: 抽象類和接口 - 實戰練習
Java Q&A: 抽象類和接口- 實戰練習在Java中,什麽時候該用抽象類,什麽時候該用接口?下面的文章將通過實例,而不是從理論的角度給你一個清晰的回答,讓你有可能獲得醍醐灌頂般的徹悟。以下是原文翻譯。--------...查看完整版>>Java Q&A: 抽象類和接口 - 實戰練習
 
Java基礎知識 Java中抽象類和接口的區別
Abstractclass和interface是Java語言中對于抽象類定義進行支持的兩種機制,正是由于這兩種機制的存在,才賦予了Java強大的面向對象能力。abstractclass和interface之間在對于抽象類定義的支持方面具有很大的相似性,...查看完整版>>Java基礎知識 Java中抽象類和接口的區別
 
抽象類和接口-實戰練習
  在Java中,什麽時候該用抽象類,什麽時候該用接口?下面的文章將通過實例,而不是從理論的角度給你一個清楚的回答,讓你有可能獲得醍醐灌頂般的徹悟。以下是原文翻譯。----------------------------------------...查看完整版>>抽象類和接口-實戰練習
 
 
回到王朝網路移動版首頁