JAVA從入門到精通(11)-- 多態

一、多態

1》定義:對象具有多種形態

      注:繼承是多態的實現基礎

2》分類:

1.引用多態
父類的引用可以指向本類的對象

父類的引用可以指向子類的對象

2.方法多態

創建本類對象時,調用的方法爲本類方法

創建子類對象時,調用的方法爲子類重寫的方法或者繼承的方法

二、多態中的引用類型轉換

1》向上類型轉換(隱式/ 自動類型轉換),是小類型到大類型的轉換,無風險

2》向下類型轉換(強制類型轉換),是大類型到小類型,有風險,有可能發生溢出

3》instanceof運算符,來解決引用對象的類型,避免類型轉換的安全性問題。

通常和if語句配合來使用

三、Java中的抽象類

1》語法定義:抽象類前使用abstract關鍵字修飾,則該類爲抽象類。

2》應用場景:

1.在某些情況下,某個父類只是知道其子類應該包含怎樣的方法,但無法準確知道這些子類如何實現這些方法。

2.從多個具有相同特徵的類中抽象出一個抽象類,以這個抽象類作爲子類的模板,從而避免了子類設計的隨意性。

3》作用:

限制規定子類必須實現某些方法,但不關注實現細節

4》使用規則:

1.abstract定義抽象類

2.abstract定義抽象方法,只有聲明,不需要實現

3.包含抽象方法的類是抽象類

4.抽象類中可以包含普通的方法,也可以沒有抽象方法

5.抽象類不能直接創建,可以定義引用變量

注:抽象方法沒有方法體以分號結束

四、Java中的接口

1》接口概念:

類是一種具體實現體,而接口定義了某一批類所需要遵守的規範,接口不關心這些類的內部數據,也不關心這些類裏方法的實現細節,它只規定這些類裏必須提供某些方法

2》接口定義:

和類定義不同,定義接口使用interface關鍵字

3》基本語法:

[ 修飾符] [abstract]   interface  接口名 [extends  父接口1, 父接口2...]{

零個到多個常量定義...

零個到多個抽象方法的定義...

}

接口就是用來被繼承、被實現的,修飾符一般建議用public

注:不能使用private 和 protected  修飾接口

常量:接口中的屬性是常量,即使定義時不添加public  static  final修飾符,系統也會自動加上

方法:接口的方法只能是抽象方法,總是使用,即使定義時不添加public  abstract修飾符,系統也會自動添加

4》使用接口

一個類可以實現一個或多個接口,實現接口使用implements關鍵字,java中一個類只能繼承一個父類,是不夠靈活的,通過實現多個接口可以作補充。

繼承父類實現接口的語法爲:

[ 修飾符] [abstract]   iclass 類名 extends  父類 implements 接口1,接口2..{

類體部分//如果繼承了抽象類,需要實現繼承的抽象方法;要實現接口中的抽象方法.

}

如果要繼承父類,繼承父類必須在實現接口之前。即extends  和implements 不能互換

5》另外一種接口的使用

接口在使用過程中,還經常與匿名內部類配合使用

匿名內部類就是沒有名字的內部類,多用與關注實現而不關注實現類的名稱。

語法格式:

Interface  i = new  Interface(){

public void method(){

System.out.println("匿名內部類實現接口的方式");

}

};

五、UML簡介

1》UML概念:

Unified   Modeling    Language(UML)又稱統一建模語言或標準建模語言

是一個支持模型化和軟件系統開發的圖形化語言,爲軟件開發的所有階段提供模型化和可視化支持。

2》UML圖示

常用UML圖:

1.用例圖(The Use Case Diagram)

用例圖能夠以可視化的方式,表達系統如何滿足所收集的業務規則,以及特定的用戶需求等信息。

2.序列圖(The Sequence  Diagram)

序列圖用於按照交互發生的一系列順序,顯示對象之間的這些交互。

3.類圖(The Class  Diagram )

UML類圖、業務邏輯和所有支持結構一同被用於定義全部的代碼結構。

3》UML建模工具

Visio、Rational  Rose、PowerDesign三種建模工具應用最廣

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