物件導向何為多型?

2021-08-30 06:29:13 字數 1742 閱讀 3780

前言:物件導向程式設計過程中少不了

1、封裝

2、繼承

3、多型

三個特性,其中多型又是怎麼理解的呢?

擯棄教科書式回答,多型語義是多種形態的縮寫,在物件導向程式設計的思想中,「萬物皆物件」,那麼我們知道,物件的行為和屬性由模板類定義,而通過模板類(class or inte***ce)我們可以控制物件在runtime的行為屬性切換,這就是多型。

exam: 人,在家是孩子,在校是學生,長大了以後可能要當父母,或者是爺爺奶奶。。。。以此類推,同乙個物件在不同時刻他們的屬性行為不同的概念就是多型,多型可以用子類向上轉型實現,也可以用介面實現。

**實現,篇幅略長,最重要的是main方法的物件例項過程和呼叫過程,以及class和inte***ce之間的關係。

package test;

public class test

/*學生介面定義*/

inte***ce istudent

/*老師介面定義*/

inte***ce iteacher

/*人類高階抽象的介面定義*/

inte***ce iperson

/*人的初級抽象,人有男女之分,以***型別為條件*/

abstract class personimpl implements iperson

@override

public void sleep(int time)

@override

public void think(string question)

@override

public void say(string msg)

@override

public void run(int speed)

@override

public void excrete(string type)

@override

public void mating(iperson person)

public string get***()

public void set***(string ***)

public int getage()

public void setage(int age)

public float getheight()

public void setheight(float height)

public float getweight()

public void setweight(float weight)

public string getcolour()

public void setcolour(string colour)

public string getname()

public void setname(string name)

}/*人的具體實現*/

class person extends personimpl implements istudent, iteacher

@override

public void learn(string subject)

@override

public void exam(string subject)

} }

何為物件導向?

概述 所謂物件,是乙個名詞,任何乙個事物都可以稱為物件,其有對應的屬性 事物的特性 和行為 事物能幹什麼 物件導向思想,就是面向事物的程式設計思想。1,面向過程 談及物件導向,不得不談的就是面向過程。物件導向是針對名詞而言,面向過程則是針對行為動作的處理。面向過程是一種以過程為中心的程式設計思想。所...

物件導向 何為模組

何為模組?乙個模組就是包含了python定義和宣告的檔案,檔名就是模組加上.py的字尾.但其實import載入的模組分為四個通用類別 1.使用python編碼的 py檔案 2.一杯編譯為共享庫或dlld的c或c 擴充套件 3.包好一組模組的包 4.使用c編寫並鏈結到python直譯器的內建模組 為何...

物件導向 多型

繼承是多型的基礎,是指物件的多種形態 1.引用的多型 1 父類的引用可以指向本類的物件 2 父類的引用可以指向子類的物件 注意 子類的引用不能指向父類的物件 2.方法的多型 1 建立本類物件時,呼叫的方法是本類的方法 2 建立子類物件時,呼叫的方法是子類重寫的方法或是繼承的方法 注意 如果是子類獨有...