Joh*_*van 4 properties salesforce apex-code
我在apex中有一个抽象类,有几个属性我想在子类中重写.根据文档,属性支持覆盖和虚拟访问修饰符.但是,当我尝试在父类或子类中使用它们中的任何一个时,我得到一个错误,指出变量不能标记为虚拟/覆盖.以下是导致此错误的代码的传真:
public abstract class Row{
public virtual double value{
get{return value==null ? 0 : value;}
set;
}
}
public class SummaryRow extends Row{
private list<Row> childRows;
public override double value{
get{
totalValue = 0;
for(Row childRow:childRows){
totalvalue += childRow.value;
}
return totalValue;
}
}
}
Run Code Online (Sandbox Code Playgroud)
是不支持此功能,还是我缺少某些功能?
提前致谢.
不幸的是,据我所知,这是文档中的一个错误.我只能将 override和virtual修饰符应用于方法.当然,您可以通过手动编写属性getter/setter方法来获得所需的效果:
public abstract class TestRow {
public Double value;
public virtual Double getValue() {
return value==null ? 0 : value;
}
public void setValue(Double value) {
this.value = value;
}
}
public class SummaryTestRow extends TestRow {
private list<TestRow> childRows;
public override Double getValue() {
Double totalValue = 0;
for(TestRow childRow : childRows){
totalValue += childRow.value;
}
return totalValue;
}
}
Run Code Online (Sandbox Code Playgroud)