多型(二) 例子

2021-07-29 12:14:19 字數 1159 閱讀 6276

有乙個動物類,1.0版本只有吃、睡得方法。

而1.1時代動物類就有了很多子類,這些子類都有他們各自吃睡得方法,但是行為跟父類是一樣的,屬於方法的過載。

因為動物太多了,我可以每次都去建立物件,但是每次呼叫物件的方法都是相同的過程,所以1.2時代,我可以把這個過程抽取出來,放在另外乙個工具類中,把我每次呼叫方法的過程都封裝到工具類中。

在這個工具類中,這些方法處理引數不同,其他的都相同。

我又發現這些引數有乙個共同的父類animal,而引數呼叫的方法父類中都有,所以在1.3時代,我用多型的特點把這些引數換成父類,讓父類的引用去呼叫子類的方法,這樣多個方法就變成了乙個方法了。

/1.0版本的動物類/

class animal

public void sleep()
/1.1版本動物的子類/

class dog extends animal

public void sleep()
class cat extends animal

public void sleep()
class pig extends animal

public void sleep()
時代:針對動物操作的工具類

class animaltool

/*

//呼叫貓的功能

public static void usecat(cat c)

//呼叫狗的功能

public static void usedog(dog d)

//呼叫豬的功能

public static void usepig(pig p)

*///把所有的可能都歸為動物類

public static void useanimal(animal a)

class duotaidemo2

/*//呼叫貓的功能

public static void usecat(cat c)

//呼叫狗的功能

public static void usedog(dog d)

*/

Camera2例子鏈結

最後,在網上發現幾個使用camera api2開發的例項程式,總結一下方便後續參考 1.camera2 basic 演示如何使用camera2 api基本功能的demo。你可以從中學會如何遍歷相機裝置的所有特性,顯示預覽 以及拍照。2.camera2 video l camera是乙個開源的實驗性質...

OpenGL學習 (4)小例子

在這個例子中,我們會使用opengl庫函式繪製一條直線並顯示出來,意在直觀的理解opengl,當然opengl的功能不止於此。在進行繪製的一系列工作前需要在專案中引入opengl的庫函式的標頭檔案,這裡我們只引入了標頭檔案 glut.h 因為在 glut.h 中已經保證了 gl.h 和 glu.h ...

jsp連線h2例子

一 通過server形式連線 1.將h2.jar複製到web inf lib 2.配置web.xml org.h2.server.web.dbstarter db.url jdbc h2 tcp localhost test db.user sa db.password sa db.tcpserve...