es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

cómo llamar un método desde todas las implementaciones de Java

Tengo una interfaz

public interface GeometricObject {
public String getInfo();
}

Y tengo 2 clases, las cuales implementan la interfaz anterior.

public class Circle implements GeometricObject {
@Override
public String getInfo() {
return “Círculo[centro,radio]”;
}
}

public class Triangle implements GeometricObject {
@Override
public String getInfo() {
return “Triángulo[p1,p2,p3]”;
}
}

Y ahora tengo esta clase para mostrar toda la información:

public class shapeUtils{
public String printInfo(List shapes) {
//código aquí
}
}

¿Cómo puedo llamar ese método en todas las clases que implementan esa lista?

ej:

Círculo:
Círculo[(1,2),r=3]
Círculo[(5,6),r=2]
Triángulo:
Triángulo[(1,2),(2,3),(3,0)]
Triángulo[(-1,-3),(-5,3),(0,0)]

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puede llamar al método printInfo() en la clase shapeUtils para imprimir la información de todas las formas en la lista. El código se vería algo así:

    public class shapeUtils{
       public String printInfo(List<geometricobject> shapes) {
          StringBuilder sb = new StringBuilder();
          for (GeometricObject shape : shapes) {
             sb.append(shape.getInfo()).append("\n");
          }
          return sb.toString();
       }
    }
    

    Esto recorrerá la lista de formas y llamará al método getInfo() en cada una, agregando el resultado a un objeto StringBuilder. El objeto StringBuilder luego se devuelve como un String.

Comments are closed.