C 事件,從童話開始(一)

2021-10-08 06:14:11 字數 1739 閱讀 2063

清澈的小河邊有一棵木瓜樹。有一天,小兔子來到河邊玩,突然聽見「咕咚」一聲。嚇得小兔子趕緊就跑,邊跑邊喊「咕咚來了!」這時候,森林裡的小動物們都聽見啦!小羊,小豬,小馬,都邊跑邊喊「咕咚來啦!」

事件的型別是委託。事件由兩部分組成,觸發器和訂閱器。

小兔子聽見「咕咚」的聲音,觸發了所有小動物的呼喊。

首先定義委託 :

public delegate void gudongdelegate();
觸發器類:

1.在觸發器中宣告事件,使用event關鍵字。在protected方法裡判斷,事件是否為空,否則觸發事件。

public class listeninggudong}}

2.在觸發器類中定義方法,用以呼叫protected方法,而觸發事件:

public void listengudongcome(string name)

訂閱器類:

1.如果事件被觸發,且該物件有訂閱事件,則要執行訂閱器裡面的處理程式:

public class tellothers

public void animalaction()

}

主程式:

var gudong = new listeninggudong();//例項化觸發器

var xiaotu = new tellothers("小兔");//例項化訂閱器

var xiaozhu = new tellothers("小豬");

var xiaoyang = new tellothers("小羊");

var xiaoma = new tellothers("小馬");

gudong.gudongevent += xiaozhu.animalaction;//訂閱事件

gudong.gudongevent += xiaotu.animalaction;

gudong.gudongevent += xiaoyang.animalaction;

gudong.gudongevent += xiaoma.animalaction;

gudong.listengudongcome("小兔");//小兔聽見,觸發事件

執行結果:

取消訂閱,用「-」符號就行,第二次,小羊取消訂閱,所以第二次小羊沒喊:

gudong.gudongevent += xiaotu.animalaction;

gudong.gudongevent += xiaozhu.animalaction;

gudong.gudongevent += xiaoyang.animalaction;

gudong.gudongevent += xiaoma.animalaction;

gudong.listengudongcome("小兔");

gudong.gudongevent -= xiaoyang.animalaction;//取消訂閱

gudong.listengudongcome("小兔");

從c語言開始

c語言作為本人從湖南屌絲學院學到的第一門語言,學成不到乙個月,開始寫 畢業後放棄。雖然時間短,但是對本人將來寫 造成了很深遠的影響。人們都說他是一門面向過程 抽象畫的通用程式語言。第一 為什麼說他是面向過程 面向過程是區別於物件導向的。我們要做一件事情,規劃怎麼做,把做事情過程抽象成乙個乙個的步驟,...

C語言 從你好世界開始

再次系統學習一次c語言,拋掉一切從基礎開始。希望能一點點累積成為乙個能寫出漂亮專案的人啊!把上課睡的覺都補回來!以後再也不睡了嗚嗚嗚 無論什麼語言,都從最基礎的hello world 開始 c語言也不例外 上 include intmain 從頭再次看這個函式,才發現有些小細節一直忘了追究。好像經歷...

grep從檔案末尾開始找 c 開始之旅

1.這玩意怎麼學呢?學了很快就忘了,那四捨五入,不就等於沒學嗎?2.日常生活中這玩意有啥用呢?可不可以做些好玩的呢?或者高大上的。對於計算機型別的專業,大學中,基本上都會修c語言這門課程,但是c語言與c 還是有一點點區別。那麼可以通過看書去熟悉c 這門語言,然後通過一些日常的一些練習去熟悉學習的語法...