我正在嘗試編寫一個小分類器程序。 但是我所擁有的數據並沒有完全確定,所以我試圖儘可能使代碼儘可能通用。 我遇到了這個問題。從抽象類型初始化子類
我已經基本上3類
abstract class AbstractPoint{}
abstract class AbstractCluster{}
class Classifier{
addPoint(AbstractPoint pt){...}
}
我沒事了這一點。 但是在分類器類中,如果點符合特定模式 我需要創建一個集羣以將點添加到。 但它不可能基於抽象類來實例化對象。 有沒有什麼好的方法/模式?或其他方式可以做到這一點?
這不是完全清楚你以後,但你可能會尋找一個工廠模式。將一個方法添加到'AbstractPoint'中是否可以返回適當的具體'AbstractCluster'? – chrylis
這聽起來像你需要一些具體的類以及這些抽象的類。也許你應該編寫一個或多個擴展'AbstractCluster'的類,以便實際實例化。 –
我認爲工廠模式正是我正在尋找的!謝謝! – Pita