Źródło: Arkusze CKE
W zaprezentowanym kodzie stworzono abstrakcyjną klasę figura oraz klasę prostokąta, która dziedziczy po niej, zawierającą zdefiniowane pola i konstruktory. Wskaż minimalną wersję implementacji sekcji /* metody klasy */ dla klasy Prostokat:
abstract class Figura
{
abstract double Pole();
abstract double Obwod();
}
public class Prostokat extends Figura
{
private double a;
private double b;
... /* Konstruktory */
... /* Metody klasy */
}
AB
public double Pole() {
return a * b;
}
public double Obwod() {
return 2a + 2b;
}
public double Pole() {
return a * b;
}
CD
public double LiczPole()
{
return a * b;
}
public double LiczObwod()
{
return 2a + 2b;
}
abstract double Pole()
{
return a * b;
}
abstract double LiczObwod()
Warianty odpowiedzi
-
A
D
-
B
B
-
C
C
-
D
A
Wyjaśnienie
Klasa potomna dziedzicząca po klasie abstrakcyjnej musi zaimplementować wszystkie jej metody abstrakcyjne, zachowując ich oryginalną sygnaturę.
Klasa Figura wymaga zdefiniowania metod Pole() oraz Obwod(). Wariant A jako jedyny dostarcza pełne, poprawne implementacje obu tych metod.