物件導向三大特徵 多型

2021-10-12 19:55:26 字數 1720 閱讀 5831

訊息是乙個物件與另乙個物件的通訊單元,是要求某個物件執行類中定義的某個操作的規格說明。傳送給乙個物件的訊息定義了乙個方法名和乙個參數列(可能是空的),並指定某乙個物件。物件接收的訊息則呼叫訊息中指定的方法,並將形式引數與參數列中相應的值結合起來。如有兩個類分別是教練和運動員,**如下:

//教練類

public

class

coach

}//運動員

public

class

sportsman

}

action(string item) 就是訊息單元,包括方法名和引數列表。教練(coach )就是訊息傳送物件,將該訊息傳送給運動員;運動員(sportsman )就是訊息接收物件,它包含乙個叫aciton的執行方法,將訊息名和其引數結合起來進行執行。

多型就是同一訊息傳送給不同物件,可以得到不同的響應即為多型,即同一訊息可以根據傳送的物件的不同而採用多種不同的行為方式。接上述示例,如果教練將訊息action(string item)傳送給歌唱家,則執行結果為不是跑步而是唱歌。

public

class

singer

}

實現多型由介面實現 、繼承父類重寫方法、同一類中進行方法過載三種方式實現

介面實現

public

inte***ce

manpublic

class

singer

implements

man}

public

class

sportsman

implements

man}

public

class

coach

public

void

command()

}

使用介面可以實現教練可以給運動員,也可以給歌唱家傳送同樣訊息,實現多型。

繼承父類重寫方法(override)

public

class

actor

}public

class

operasinger

extends

actor

}

operasinger是actor子類,並重置了父類play()的方法,實現了將 play()訊息傳送給actor、operasinger實現不同的執行方法實現多型。

同一類中進行方法過載(overload)

public

class

singer

implements

manpublic

void

action

(erhu erhu)

public

void

action

(piano piano)

}

在singer 類中有三個方法名(action)一樣,但引數不同,實現執行內容不同,實現多型

物件導向技術因多型而生動多變,實現可擴充套件性和易維護兩大目標,主要體現在以下幾點:

可替換性:多型對已存在**具有可替換性.

可擴充性:增加新的子類不影響已經存在的類結構.

介面性:多型是超類通過方法簽名,向子類提供乙個公共介面,由子類來完善或者重寫它來實現的.

**更加靈活性和簡單.

物件導向三大特徵之多型

1.概念 同乙個動作用於吧不同的物件產生不同的行為 2.體現方式 1 方法過載 overload 2 方法重寫 override 3 物件的多型性 父類的引用指向子類的例項 3.多型可以分為編譯時多型和執行時多型 編譯時多型 靜態的,主要指的是方法過載,因為在編譯時呼叫相同的方法通過不同的形參列表來...

物件導向 三大特徵 繼承 多型

繼承 訪問修飾符 class 類名 類名 乙個類只能有乙個父類 親爹 父類 某個類繼承自某個類 子類 派生類 超類 多型 類的多種形態 父類存在虛方法 virtual 子類重寫 override 訪問修飾符 public 公共的,只要引用了命名空間就能用 訪問級別最高 private 私有的,只能在...

物件導向的三大特徵之多型

多型就是同名方法,但是引數的個數或資料型別不同 notice 引數順序不同也是多型 next 用求最大值max來介紹多型 先寫乙個主類main main方法為程式的入口 package bilibili classname main description 多型 求最大值 author emowat...