我只有一種方法,我需要幾個不同的類來訪問,它只是一個工具類只有一個方法似乎跛腳。需要使用這個方法的類已經繼承了一個抽象類,所以我不能使用繼承。你們在這種情況下會做什麼?幾個類共享的一種方法
回答
[I] T,似乎只是跛腳製作工具 類只有一個方法
只要做到這一點,它會越來越大。它總是這樣。在任何非平凡的解決方案中,常見的功能或性質都是必需的。
你是什麼意思,你不能使用繼承?
如果您在抽象類中編寫方法,還可以編寫實現(並非抽象類中的所有內容都必須是抽象的)。
但一般來說,建議擁有某種'GeneralUtils'類;導致你最終得到一些這些功能。
我的意思是我不能用這些類可以共享的方法創建基類/抽象類,因爲它們已經從不同的基類繼承。 – Allensb 2009-08-13 04:44:31
哦;好吧,有道理。 – 2009-08-13 04:45:22
請記住,一個班只是一個小型,專注的機器。如果該類只有一種方法,那麼它只是一個小而專注的機器。它沒有什麼錯,集中代碼很有價值。
本網站不具有「起立鼓掌」的選項,所以我希望你會滿足於在給予好評和令人鼓舞的評論。說得好! – 2009-08-13 05:08:50
我需要更多信息才能給出明確的答案。 但是,一個命名良好的類只有一個命名方法可以爲可讀性創造奇蹟(與例如基於繼承的解決方案相比)
因爲您使用術語實用程序方法,所以我會說創建一個靜態類用靜態方法完成。
還有就是你可以用:-)
作弊創建你的類可以「落實」,但是,創建一個接口上的擴展方法的接口,你的類,然後奇蹟般地獲得該方法無需調用實用類...
public Interface IDoThisThing {}
public static void DoThisThingImpl(this IDoThisThing dtt)
{
//The Impl of Do this thing....
}
現在在你的類,你可以只添加IDoThisThing
public class MyClass, MyBaseClass, IDoThisThing
{
//...
}
,他們把那東西:-)
注意,這只是有效實用程序類中的syntally糖,但它確實使客戶端代碼非常乾淨(就像在您的類中出現的方法一樣)。
可以使用擴展方法...
namespace ExtendMe
{
public interface IDecorate { }
public static class Extensions
{
public static void CommonMethod(this IDecorate o) { /* do stuff */ }
}
public class Blah :IDecorate {}
public class Widget : IDecorate {}
class Program
{
static void Main(string[] args)
{
new Blah().CommonMethod();
new Widget().CommonMethod();
}
}
}
- 1. 如何共享一個靜態方法之間的幾個類
- 2. 在同一類的幾種方法之間共享單個POSTGRESQL連接
- 3. 幾個類共享另一個類的實例
- 4. 幾個按鈕的一種方法?
- 5. Objective C - 共享*幾乎*相同委託方法的類
- 6. 通過幾個類共享對象
- 7. 派生類共享方法
- 8. 如何在兩種方法之間共享一個LINQ查詢?
- 9. 如何在多種方法中共享一個變量?
- 10. 在ASP.NET中共享幾頁之間共同功能的方法
- 11. OpenMP幾個「共享」 - 指令?
- 12. 在幾個類之間共享一個AVL樹
- 13. 在兩個類之間使用按鈕共享一個方法
- 14. 如何在兩個類之間共享一個方法?
- 15. 在幾個類中的一種方法中捕獲異常的好方法
- 16. Python 3:在一個類中的方法之間共享變量
- 17. 執行一種方法在其他幾種方法的開始
- 18. 幾個WCF服務可以共享一個公共BaseAddress嗎?
- 19. 將方法更改爲以另一種形式訪問的共享方法
- 20. 共享一個場法
- 21. 一種在多個頁面之間共享fsockopen()的返回值的方法?
- 22. 幾個viewmodels共享相同的視圖
- 23. 關於iOS共享的幾個問題
- 24. 模擬與實現。如何在單個Test類中共享這兩種方法?
- 25. 共享類別表和PHP OOP方法
- 26. 如何在類之間共享方法
- 27. 一種通過Rails在多個httpd線程之間共享變量的方法?
- 28. 我如何分享只有一個共享意圖的2種不同類型?
- 29. 學習一個類的公共方法
- 30. 在一個類中只有共享的函數/方法是否是一種良好的習慣?
一件事,不要害怕正在小班的。有時候人們會覺得一個班上應該有一堆「東西」。但它只是「語法」。如果它很有用,那就只用一件東西做一堂課。甚至什麼也沒有!沒有規則:) – 2009-08-13 06:07:46
最好有N個類,每個類有1個有用的方法,而描述性的名稱比1個類有N個不相關的方法與神祕的名字。 – sal 2009-08-13 14:52:09