bhxbr922:
Tengo una tarea
Crear una clase de matemáticas con métodos: int calcular (int a, int b) - la operación en sí y returnPrev int () - devuelve el resultado calculado anterior.
Crear agregados clase para representar operaciones de suma. Reemplazar los métodos. He creado Matemáticas clase abstracta
abstract class Math {
abstract int calculate(int a,int b);
abstract int returnPrev();
}
public class Addition extends Math {
int result;
int prevresult;
@Override
int calculate(int a, int b) {
result = a + b;
return result }
@Override
int returnPrevious() {
}
}
Para mí está claro cómo debo crear un método returnPrevious ?? No entiendo cómo debo guardar el primer resultado.
Para cualquier explicación sería muy agradecidos
Arvind Kumar Avinash:
- No utilice un nombre que OOTB, por ejemplo, se debe utilizar
MyMath
para evitar conflictos con OOTBMath
. - Es mejor declarar
MyMath
como eninterface
. Tenga en cuenta que múltiples interfaces pueden ser implementadas por una clase, pero sólo una clase pueden ser extendidos. - Asignar el valor de
result
queprevresult
antes de poner el valor del nuevo cálculo en ella.
interface MyMath {
public int calculate(int a, int b);
public int returnPrev();
}
class Addition implements MyMath {
int result;
int prevresult;
@Override
public int calculate(int a, int b) {
prevresult = result;
result = a + b;
return result;
}
@Override
public int returnPrev() {
return prevresult;
}
}
public class Demo {
public static void main(String[] args) {
Addition addition = new Addition();
System.out.println(addition.calculate(10, 20));
System.out.println(addition.returnPrev());
System.out.println(addition.calculate(20, 30));
System.out.println(addition.returnPrev());
}
}
Salida:
30
0
50
30
Siéntase libre de comentar en caso de cualquier duda / problema.