大白話系列之C 委託與事件講解 一

2022-03-30 08:42:41 字數 1323 閱讀 4727

從序言中,大家應該對委託和事件的重要性有點了解了吧,雖然說我們現在還是能模糊,但是從我的大白話系列中,我會把這些概念說的通俗易懂的。首先,我們還是先說說委託吧,從字面上理解,只要是中國人應該都知道這個意思,除非委託2個中文字不認識,舉個例子,小明委託小張去買車票。

但是在我們的程式世界裡,也是這麼的簡單嗎?當然,什麼是oo,oo就是現實世界的抽象,所有現實世界的事物,在oo裡都能得到很好的詮釋,不好意思,扯遠了......

那我們就單刀直入吧,如果同學們不嫌煩的話,可以看一下,網上中文,英文的那個greetingpeople例子。

首先是c#語法

public delegate void bugticketeventhandler();

完了,這就是委託,就這麼簡單,看看和我們一般的方法有什麼區別呢?

public void buyticket()

區別知道了吧,在現實生活中,委託只是個命令,做事情是別人,而在程式世界裡委託只是儲存了各個方法的位址,而他自己也是什麼也不做的。

那我們就把剛才那個,小明委託小張去買車票的現實生活場景,怎麼在程式世界裡體現呢?

**//小張類

public class mrzhang

}//小明類

class mrming

} bugticketeventhandler mydelegate = new bugticketeventhandler(mrzhang.buyticket); 

這是委託的宣告方法, bugticketeventhandler(委託的方法);委託的方法必須要加上,因為委託的建構函式是不為空的。

注:委託的引數和返回型別,都要和你要具體委託的方法要一致,例:

public delegate void bugticketeventhandler();

public static void buyticket()

同學們,看到這裡可以先消化消化,休息一下,我們簡單的講一下委託鏈的概念:

其實委託鏈也是相當的簡單,在現實生活中,小明叫小張買完車票之後,可能接著又讓他帶張電影票,

而我們程式世界裡的表述為:

//小張類

public class mrzhang

public static void buymovieticket()

}//小明類

class mrming

} 其實,我們只是在程式中加了 mydelegate += mrzhang.buymovieticket;

這時這個委託就相當於要做2件事情,先是買車票,再是買電影票拉!

好了,關於大白話的委託就介紹到這裡了,是不是並沒有大家想的這麼可怕呢,在下一回我們就接著大白話的event的講解。  

大白話系列之C 委託與事件講解 一

從序言中,大家應該對委託和事件的重要性有點了解了吧,雖然說我們現在還是能模糊,但是從我的大白話系列中,我會把這些概念說的通俗易懂的。首先,我們還是先說說委託吧,從字面上理解,只要是中國人應該都知道這個意思,除非委託2個中文字不認識,舉個例子,小明委託小張去買車票。但是在我們的程式世界裡,也是這麼的簡...

大白話系列之C 委託與事件講解 一

從序言中,大家應該對委託和事件的重要性有點了解了吧,雖然說我們現在還是能模糊,但是從我的大白話系列中,我會把這些概念說的通俗易懂的。首先,我們還是先說說委託吧,從字面上理解,只要是中國人應該都知道這個意思,除非委託2個中文字不認識,舉個例子,小明委託小張去買車票。但是在我們的程式世界裡,也是這麼的簡...

大白話系列之C 委託與事件講解 一

從序言中,大家應該對委託和事件的重要性有點了解了吧,雖然說我們現在還是能模糊,但是從我的大白話系列中,我會把這些概念說的通俗易懂的。首先,我們還是先說說委託吧,從字面上理解,只要是中國人應該都知道這個意思,除非委託2個中文字不認識,舉個例子,小明委託小張去買車票。但是在我們的程式世界裡,也是這麼的簡...