public virtual class parent {
public static void doStuff(){system.debug('stuff');}
}
public class child extends parent{}
Cuando llamo¿Admite Salesforce Apex la herencia de métodos estáticos?
child.doStuff();
consigo este error: Método no existe o firma incorrecta: child.doStuff()
son métodos estáticos no hereditarios en la fuerza de ventas o estoy haciendo algo mal ?
En realidad, de acuerdo con la respuesta aquí: http://stackoverflow.com/questions/5316705/overriding-properties-from-abstract-class-in-salesforce-apex 'virtual' solo se puede utilizar en métodos. –
Virtual no solo se puede usar en clases, sino que TIENE que ser si la clase va a ser heredada. Y no, no significa que todos los métodos deben ser implementados. "Virtual" cuando se aplica a un método significa que el método puede anularse. Y "virtual" cuando se aplica a una clase significa que se puede heredar de. – naomi
Creo que el problema no está relacionado con vtable. Creo que esto se trata de que el método público estático de la clase principal no sea visible utilizando el apodo de clase infantil. En la teoría OOP, la muestra debería funcionar y el compilador debería consultar la clase padre antes de rechazar el nombre del método. – mmix