介面的理解

2021-06-20 02:06:41 字數 902 閱讀 2966

例如乙個entitymodel類擁有很多屬性資訊:name,age,height,weight。

現在如果想使用其中的height和weight,可以定義乙個介面ibodyinfo

package

com.wjy.understandinte***ce;

public

inte***ce

ibodyinfo

然後讓entitymodel類去實現這個介面,就可以像一下這樣獲得height和weight資訊了。

ibodyinfo bodyinfo=new entitymodel("wangjiyuan",22,177.00,74.00);

bodyinfo.getheight();

bodyinfo.getweight();

就是介面引用指向實現它的類的物件(類似於父類引用指向子類物件)。這樣做的好處是只要有類實現了這個   ibodyinfo介面,就可以利用介面的引用獲得height和weight資訊。例如:

返回型別  函式名(ibodyinfo  bodyinfo)這樣的話,可以向函式的引數中傳遞任意乙個實現了ibodyinfo介面的類的物件。

如果是這樣的: 返回型別  函式名(entitymodel  model)則只能像函式的引數中傳遞entitymodel的子類物件了,不利於擴充套件。

但是:這樣的結構是有不足之處的。比如說:如果我們需要 name和age資訊,就需要定義別的藉口,並讓entitymodel實現它。如果我們需要單獨處理的資料很多時,就需要定義很多的介面,這些介面中的方法必須都在entitymodel中實現。entitymodel會變得很長很長。所以想要解決這個問題就要使用介面卡模式,將介面的方法從entitymodel中提煉出來,放到別的地方去。要知後事如何,請看部落格   用介面卡模式解決介面的不足。

介面的理解

首先按我的理解來說乙個例子 這個例子被很多人提過,下面的這個是按我自己的理解來說的 小王是乙個苦逼 酷斃 程式設計師,他要開發乙個程式,其中要實現乙個功能 連線到乙個資料庫,要對資料庫進行一些操作。實現功能首先需要有乙個資料庫,在開發的時候他使用的a廠家的資料庫。假設a廠家提供的類庫中實現小王需要的...

對介面的理解

以下是我在ms news group裡,對 什麼情況下定義inte ce 這一問題的回答,基本上體現我現在對inte ce的理解,可能有不足或者完全就是謬誤,希望能得到大家的指正 乙個類實現了某個介面,就相當於宣告我能夠完成某項工作。比如乙個類實現了icomparable介面,就相當於宣告了我可以完...

Java 介面的理解

package com.new inte ce ipeople class peoo implements ipeople public class testnew param args 介面的實現 首先我們呼叫的是乙個方法testspeak ipeople one 但是它的引數是個介面 我們就要實...