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类的扩展,但这不能暗示属性,因为扩展不能容纳它们。
任何建议?