Dobrý den, nevím si rady s touto situací:
Mám vytvořit třídu se statickými přetíženými metodami printMeasurement:
První metoda vezme libovolný měřitelný objekt (tj. libovolný objekt implementující rozhraní Measurable) a
a) na std. výstup vypíše informace o objektu, viz metoda toString(),
b) na další řádek vypíše "Perimeter: <n>", kde <n> je obvod.
Druhá metoda vezme libovolný celistvý objekt (tj. libovolný objekt implementující rozhraní Solid) a
a) na std. výstup vypíše informace o objektu, viz metoda toString(),
b) na další řádek vypíše "Perimeter: <n>", kde <n> je obvod objektu,
c) na další řádek vypíše "Area: <m>", kde <m> je obsah objektu.
Mám se vyhnout opakování kódu tím, že druhá varianta metody bude volat tu první.
Mam zatim toto, ale proste nevim jak mam volat ty metody, zkousel jsem to ruzne:
public class Gauger
{
public static void printMeasurement(Measurable mes) {
mes.toString(); //toString() je v jine tride tehoz balicku
System.out.println("Perimeter: " + mes.getLength()); // getLength() taktz...soucast rozhrani Measurable
}
public static void printMeasurement(Solid sol) {
sol.printMeasurement(new Measurable()); //jeden z mych pokusu
System.out.println("Area: " + sol.getArea()); // getArea() je v jine tride tehoz balicku..soucast rozhrani Solid
}
}
Děkuji za každou radu