基本語法:
[public] inte***ce 介面名稱
官方定義:介面是指定一組函式成員而不實現成員的引用型別,其他型別-類和結構可以實現介面。
舉個例子:
我們需要定義兩個類——企鵝類和麻雀類 他們都有共通的特點 ,吃喝睡。這時候利用多型的思想我們可以
定義乙個父類 :鳥類。
/// /// 抽象類 鳥類
///
public abstract class bird
但是麻雀會飛,企鵝會游泳 父類中並不能把飛和游泳兩種方法都加入進去,因為並不是所有鳥類都會飛,會游泳,這時候就需要用到介面來實現這兩個獨有的方法。
/// /// 游泳介面 實現游泳功能
///
public inte***ce iswim
/// /// 飛翔介面 實現飛行功能
///
public inte***ce ifly
讓麻雀和企鵝繼承鳥類和介面:
public class sparrow : bird,iswim //繼承游泳介面 實現相對於麻雀獨有的游泳功能
public override void eat()
public override void sleep()
public void swim()
}public class penguin : bird ,ifly //繼承了飛翔介面 實現相對於企鵝獨有的飛行功能
public override void eat()
public void fly()
public override void sleep()
}
我們發現企鵝還能捕魚功能,這時候我們就可以定義乙個捕魚介面,讓企鵝類繼承這個介面,實現捕魚功能。
(乙個子類只能繼承乙個父類,但是能繼承多個介面)
還有一些需要注意的是:
1 )介面一般表示一種規範,同時也表示一種能力,繼承了這個介面也就表示了有了這個能力。所有在給介面取名的時候一般以i開頭。
2)介面中的成員不能有任何實現
3)介面中成員不能加訪問修飾符,介面成員預設的修飾符為public
4)為了多型,介面不能被例項化,也就是說不能被new
5)介面中只能有方法,索引器,事件,不能有「字段」和建構函式
6)介面與介面之間可以繼承 且可以多繼承
7 ) 介面只能繼承介面,而類可以同時繼承介面和類
8)實現介面的子類必須實現介面的全部成員。
9)當乙個抽象類繼承乙個介面,需要子類呼叫方法。
小菜鳥 學MQ(二)
mq服務啟動以後 接著要做的事情就是 傳送 和 接受 訊息。首先有兩種不同型別的message topic,queue 第一種topic jms規範定義了,topic需要實現 發布和訂閱兩個功能,乙個topic可以被0個或多個訂閱者訂閱。但是訂閱者必須是啟用的。第二種queue 一條訊息只能被乙個c...
小菜鳥學C 物件導向之繼承
關於繼承 兩個要點 1.子類繼承父類的屬性方法 2.父類成員中被private修飾的私有字段不能被繼承 private 即私有訪問許可權 只限本類成員訪問 子類和例項都不能訪問 需要注意的是 子類不繼承父類有引數的建構函式 但是會預設呼叫父類的那個無參的建構函式 當在父類中建立乙個有引數的建構函式時...
小菜鳥學瀏覽器之感悟
十年生死兩茫茫,不思量,自難忘。千里孤墳,無處話淒涼。縱使相逢應不識,塵滿面,鬢如霜。夜來幽夢忽還鄉,小軒窗,正梳妝。相顧無言,唯有淚千行。料得年年斷腸處,明月夜,短松崗。清明節,思念故鄉,不免想起了遠在千里之外故去的老父親,想起蘇軾的一首 江城子 藉此抒發情感,望勿取笑。如今的瀏覽器,越來越向谷歌...