委託到底是什麼?

2021-06-28 11:03:02 字數 1226 閱讀 5224

說到委託,大多數的程式設計人員可能都聽說過,甚至用過,可是能把委託說明白,別人也能聽明白的就不多了吧。這篇文章就由淺入深的介紹一下,委託到底是什麼。

委託是物件導向的標誌,物件導向**於現實世界,當然委託在現實世界中也是有原型的,比如:「小明,幫我買包菸」。這就是現實中的委託:『我』委託小明『買飯』。

物件導向是如何實現的呢?先來看一下委託的定義:

public delegate void   buyfoodeventhandler();

public

代表委託是公有的,可訪問的;

delegate

是委託的關鍵字;

void

是委託的返回值型別;

buyfoodeventhandler

是委託的名稱,其中

eventhandler

微軟公司規定的命名標準,方法名稱加上字尾就是委託名稱。

好了,這就是乙個委託。我們把它和方法比較一下,它和方法的不同點就是:

1委託需要關鍵字標識;

2委託名稱需要以

eventhandler

結尾;3

委託沒有方法體;

4委託的返回值型別和委託方法的返回值型別一致。

接下來,我們使用**來實現委託小明買煙這個過程。

public class program

} public class xiaoming

}

bugticketeventhandler mydelegate = new bugticketeventhandler(mrzhang.buy

cigarate

);這句話是委託的宣告;括號內是委託的方法,這個方法一定要寫,因為它屬於委託的建構函式體,建構函式不能為空;

如果再讓小紅買一瓶水,如何實現呢?委託鏈可以解決這個問題,下面是委託鏈的介紹:

public class program

}public classxiaoming

} public classxiaohong

}

其實,我們只是在程式中加了

mydelegate += xiaohong.buywater;

;這樣就構成了委託鏈,實現了乙個委託可以實現多個方法。

這裡總結一下,委託其實就是方法的指標,可以把方法當做引數來使用,這樣可以大大的增加程式的靈活性和可擴充套件性。

c 委託到底是什麼,為麼需要委託

首先,我們來說說物件導向,所謂物件導向是對不同職階的地位物件的封裝,通俗的說就是專業的事情交給專業的人做 又比如在 fate 中具有七個職階,不同的職階都有其自己的專屬技能和所擅長的領域。然而,物件想學習新的技能就得繼承,繼承的弊端在於會使乙個類過於龐大而且有些方法,並不是我們現在的這個子類所需要的...

C 中的委託到底是什麼概念??

委託,簡單理解是這樣的.比如您要管您的孩子,把孩子送進了幼兒園.ok.此時您就把您的孩子委託給了幼兒園.當幼兒園放學,將孩子交還給您的手中.則是委託的 當然我這裡的例子是說非同步委託呼叫.您也可以同步.什麼是同步委託呼叫?您去銀行存錢.把錢給櫃員.他們幫你點鈔.存款然後給您存摺或卡.那麼您就相當於把...

敏捷到底是什麼?

文 ivar jacobson 在支援軟體工程 比如rational統一過程rup 與敏捷陣營 比如scrum或是xp 之間,人們一直存在著衝突。也不難理解,因為這兩種方法間都是在用著彼此並不相容的方式來描述的。其實大可不必,因為他們背後的觀點全然是相輔相成的。關鍵在於該如何用對兩者來說都公平的方式...