類的關係和多型

2021-10-10 23:47:07 字數 2585 閱讀 2908

之前的**中。person這個類對於不同的寵物行為是相同的。物件不同,有狗,有貓,有鱷魚,產生的結果表現形式不同,這裡我們用了方法的過載。而這種用過載實現的多型我們稱為靜態多型。但是有問題,後期如果要加寵物,必須修改person這個類,要加乙個過載的方法,這違反開閉原則。

優點:使得**結構更清晰,提高了**的可維護性,利於後期擴充套件程式。

允許不同的類的物件,對於同一訊息(行為)作出響應,同一行為,根據作用物件的不同,採用多種不同的形式

對於之前的**,用多型來實現

/**

* @author: 廾匸

* @date: 2020/10/29 20:42

* @description: 人類

* @version: 1.0

*/public

class

person

public

person()

public string getname()

public

void

setname

(string name)

public

intgetage()

public

void

setage

(int age)

public

void

feet

(pet pet)

}/**

* @author: 廾匸

* @date: 2020/10/29 20:38

* @description: 寵物類

* @version: 1.0

*/public

class

petpublic

pet(

)public string getname()

public

void

setname

(string name)

public

intgetage()

public

void

setage

(int age)

public

void

play()

public

void

eat(

)@override

public string tostring()

';}}

/** * @author:廾匸

* @date: 2020/10/29 20:52

* @description:

* @version: 1.0

*/public

class

eextends

pet@override

public

void

play()

@override

public

void

eat()}

/** * @author: 廾匸

* @date: 2020/10/29 20:40

* @description: 貓類

* @version: 1.0

*/public

class

dogextends

pet@override

public

void

play()

@override

public

void

eat(

)public

voiddd(

)}/** * @author: 廾匸

* @date: 2020/10/29 20:40

* @description: 貓類

* @version: 1.0

*/public

class

catextends

pet@override

public

void

play()

@override

public

void

eat(

)public

voidcd(

)}/** * @author: 廾匸

* @date: 2020/10/29 16:55

* @description: 測試jdbc

* @version: 1.0

*/public

class

demo

}

向上轉型

向下轉型

public

class

apublic string show

(a obj)

}public

class

bextends

apublic string show

(a obj)

}public

class

cextends

bpublic

class

dextends

bpublic

class

test

}

繼承關係中:

類與物件的關係 封裝 多型

猶如模具與鑄件之間的關係,乙個屬於某類的物件稱為該類的乙個例項。封裝 定義 特殊類的物件擁有其一般類的全部屬性與服務,稱作特殊類對一般類的繼承。封裝 定義 特殊類的物件擁有其一般類的全部屬性與服務,稱作特殊類對一般類的繼承。例如 將輪船作為乙個一般類,客輪便是乙個特殊類。多型 多型是指在一般類中定義...

類和類之間的關係

在uml中,類和類之間有實現 介面 繼承等等。下面重點講下下面四個的區別 一般來講,關聯是指一種一對一的關係。注意,在關聯中,關聯物件擁有被關聯類 以箭頭指向來說 水平的引用 class asset class player set the asset via constructor or a se...

74 類的多型和多型性

目錄 二 多型性 三 多型性的好處 四 小結 很多人喜歡將多型與多型性二者混為一談,然後百思不得其解,其實只要分開看,就會很明朗。多型指的是一類事物有多種形態,乙個抽象類有多個子類,因而多型的概念依賴於繼承 序列資料型別有多種形態 字串,列表,元組 動物有多種形態 人,狗,豬 動物有多種形態 人類 ...