我在我的項目中有一個用於加載外部資源(即圖像和音頻文件)的類。這個類只有少數幾個成員:用於存儲資源的HashMap字段,以及用於檢索資源的方法,例如getImage(reference)
等。聲明類抽象是否糟糕,因爲它只有靜態成員?
我最初實施singleton pattern,但後來我讀了一些關於鏈接頁面的批評,並考慮使用靜態成員。
很高興地決定靜態實現所有類的功能後,我正在做一些代碼清理。在做這件事的時候,我意識到沒有任何東西阻止我實例化這個類ResourceManager
。這使我用abstract
關鍵字標記它。
我從來沒有用過這種方式使用過abstract
;我只是將它更傳統地應用於繼承樹。我試着用搜索引擎的使用和誤用abstract
,但我找到了資源,似乎無論是低於守信,或沒有建議不要以這種方式使用的抽象:
Oracle's tutorial on abstract classes and methods.
Another site discussing the keyword.
報價從第二個環節:「其目的是純粹作爲階級的父母。」
我的新實現是傳統的,可原諒的還是純粹的錯誤?
製作一個類抽象意味着我想要的東西,但我明白了爲什麼你首先考慮了它。抽象類不應該被實例化,因爲它缺少具體的實現細節,因爲它具有抽象的方法。你會更好地隱藏我認爲的構造函數。 –