Esta pregunta se realizó durante la entrevista de trabajo, Desarrollo Java, posición del estudiante.Cómo sobrescribir un método en Java, pero aún tiene una funcionalidad parcial del método principal
interface SomeInterface {
public void execute();
}
class A implements SomeInterface {
public void execute() {...}
}
La pregunta es: ¿se le pidió
Nueva desarrollador para crear una clase que amplíe la clase A, y crear método denominado Execute
, este método va a hacer alguna cosa. Cómo deberíamos reescribir el código anterior para tener un "proceso de inicio" de salida cuando se llama al método Execute
(por supuesto, la impresión no debe hacerse en la clase B).
class B extends A {
public void execute() {
//some code goes here
}
}
Sé que se puede hacer con dos funciones y una de ellas es abstracta. Aconsejar ...
No es Template Method ?? – UmNyobe
Gracias por la solución, pero al nuevo desarrollador en la pregunta se le pidió que escribiera el método ** Execute ** en la clase B, de forma que cuando se llame a ** Execute **, se debe imprimir el "proceso de inicio". Su solución tiene la misma funcionalidad pero no como se describe en los términos. ¿Alguna otra idea? – Victor
@UmNyobe Buena llamada. Sí, el patrón de plantilla es mejor que el patrón de estrategia (aunque la estrategia se ajusta, es un ajuste pobre en comparación con la plantilla: actualicé la respuesta) – Bohemian