public virtual class parent {
public static void doStuff(){system.debug('stuff');}
}
public class child extends parent{}
Когда я звонюПоддерживает ли salesforce Apex наследование статических методов?
child.doStuff();
Я получаю эту ошибку: Метод не существует или неверно подпись: child.doStuff()
ли статические методы не наследуются отдела продаж или я делаю что-то неправильно ?
Собственно, в соответствии с ответом здесь: http://stackoverflow.com/questions/5316705/overriding-properties-from-abstract-class-in-salesforce-apex 'virtual' можно использовать только для методов. –
Виртуальный не только МОЖЕТ использоваться на классах, но должен быть, если класс наследуется. И нет, это не означает, что каждый метод должен быть реализован. «Виртуальный» при применении к методу означает, что метод CAN может быть переопределен. И «виртуальный» при применении к классу означает, что он может быть унаследован. – naomi
Я думаю, что проблема не связана с vtable. Я думаю, что речь идет о публичном статическом методе родительского класса, который не отображается с помощью прошивки дочернего класса. В теории ООП образец должен работать, и компилятор должен обратиться к родительскому классу, прежде чем отклонять имя метода. – mmix