0
我在夫特定義了以下協議:Swift屬性 - 避免對n類進行多重聲明?
protocol Condition {
var column : RepositoryTableColumn! {get set}
var sourceTable : RepositoryTable! {get set}
var conditionalValue : String! {get set}
var preventsClear : Bool! {get set}
func getCondition() -> String
func accept(visitor : ConditionVisitor)
}
和協議是由擴展(現在上)8級的類意味着每個類都需要有一個聲明爲:
class IsEqual : Condition {
var column : RepositoryTableColumn!
var sourceTable : RepositoryTable!
var conditionalValue : String!
var preventsClear : Bool!
}
我的問題是,怎麼可能避免在每個班級中有這四個聲明?我試圖避免這種情況的原因是我不想複製代碼,即在這種情況下聲明。
對於構造函數,我創建了Condition類的擴展,但這不能暗示屬性,因爲擴展不能容納它們。
任何建議?