到目前爲止編譯器似乎並不介意,但我只是想通過在抽象類中實現某些方法來仔細檢查是否以任何方式設置自己。抽象類可以在C#中實現嗎?
10
A
回答
14
抽象類通常有一個或多個抽象方法。所以是的,它可以實施一些方法。目標是強制用戶實現這些方法以使對象有效。有時抽象類用於提供某些接口的「基本」實現,使最終用戶只指定關鍵方法。你也可以有一個沒有任何抽象方法的抽象類:在這種情況下,你斷言你必須從那個類派生才能使用它。
1
是的。 abstract
類不能被實例化(你必須實例化一個繼承自抽象類的類),但它可以包含實現。
1
完美地實現一些方法,並讓別人抽象。
如果所有方法都必須是抽象的,那麼您也可以使用它的接口。
0
它很好,允許,abstract class
至少有一個成員(方法/財產)沒有實現,所以它不能實例化。
和interface
也被稱爲pure abstract class
這意味着它是100%抽象的,所以不允許你指定任何實現。
請記住,有很多文章和觀點關於永遠不要從另一個具體類從具體類中派生出具體類,而只能從抽象類派生出......至少這是C++到幾年前的趨勢,然後我感動到C#端,開始工作更多,沒有時間繼續閱讀那些漂亮的文章...... :)
+3
你可以在C#中沒有任何抽象成員的抽象類 – 2012-02-03 09:57:20
6
在抽象類中有一些常見的實現。
如果根本沒有實現,請考慮使用接口而不是抽象類。
相關問題
- 1. C#抽象類實現
- 2. 是否可以在C++/CLR中實現在C#中聲明的抽象類?
- 3. 你可以在C++的抽象類中使用抽象函數嗎?
- 4. 有什麼辦法可以在java中實現'抽象類方法'嗎?
- 5. 抽象類 - 在C++實踐
- 6. 可以省略C#中抽象類中的接口方法嗎?
- 7. 編寫c#實現抽象類inline?
- 8. c#抽象類實現接口
- 9. 有一些實現的C++抽象類
- 10. 你可以模擬一個實現接口和抽象類的對象嗎?
- 11. 在抽象類中使用抽象類時如何實現抽象方法
- 12. 如何在ruby中實現抽象類?
- 13. 在Scala中實現抽象類
- 14. 在java中實現抽象方法/類
- 15. 如何在F#中實現抽象類?
- 16. 在C++中繼承抽象類和類實現
- 17. C#抽象函數與實現可能嗎?
- 18. C++抽象變體實現
- 19. 一個對象可以在scala中擴展抽象類嗎?
- 20. 抽象類/方法實現
- 21. 抽象類實現接口
- 22. Java抽象類實現
- 23. 抽象基類實現
- 24. 可以抽象地導入非抽象類型嗎?
- 25. 一個變量可以在抽象的Java類中抽象出來嗎?
- 26. 我應該在抽象類實現接口時創建抽象方法嗎?
- 27. 我可以在C#中使用子類實現接口嗎?
- 28. 一個類別可以在Objective C中實現協議嗎?
- 29. 在C++中實現簡單的Java程序(抽象類)
- 30. 如何在C++中實現內部抽象成員類?
有可能創建抽象類沒有抽象方法,只需將類標記爲抽象類... – 2012-02-03 09:48:17
抽象類意味着它必須被繼承以實例化。 Kirill Polishchuk指出,這並不意味着它應該有抽象的方法。 – ken2k 2012-02-03 09:51:51
@KirillPolishchuk謝謝磷蝦,我從來沒有注意到,我糾正了答案。 – 2012-02-03 09:53:42