2013-12-10 52 views
0

我記得在幾年前的某個地方閱讀(或聽到)類別必須有操作,屬性和操作,或至少一個屬性作爲強制性要求 - 不是空的。我問的是,是否違反了軟件工程規則,是否有空的類,或者是具有屬性的類,還是沒有其他類的操作。班級成員是強制性的嗎?

我只是想確保我的課程圖對我的項目是正確的。

謝謝。

+1

擁有一個空的類是沒有任何違反,但通常沒有理由。您的定義只允許操作/屬性,那麼它有什麼問題? – Jon

+2

http://stackoverflow.com/questions/4035180/advantages-of-an-empty-class-in-c – adil

+0

我的問題很明確,我要求**專家**建議:「我在問什麼是否違反了軟件工程**規則** [...]。「 – os008

回答

2

你當然可以擁有一個帶有屬性但沒有操作的類,反之亦然。

作爲一類沒有屬性任何操作 - 大多數(?全部)面向對象的語言將允許這一點,但當然這樣一類不會是非常有用的除了可能作爲一個基類某種。

1

工程是關於違反規則和思考的框。一個沒有屬性(屬性等)或方法(操作等)的空類就是這樣的:一個抽象的數據類型,它什麼都不做。

許多如果不是大多數類型的系統提供這樣的事情,如果沒有預定義。

如果你定義你自己的,你應該有一個很好的理由這樣做。在C++中,例如,在元編程中用作對象或標記的類通常是完全空的,因爲它僅用於在編譯時通過類型系統或函數重載運載信息,理想情況下在運行時不存在。