Klasa abstrakcyjna nie wymagająca implementacji metod?

0

Mam takie pytanko. Chciałbym zrobić klasę abstrakcyjną a w niej kilka metod. Lecz nie chciał bym, by pojawiały się błędy jeśli któraś z metod nie zostanie zaimplementowana w klasie dziedziczącej. Jak to zrobić?

0

Jedno z:
-rozbić tą klasę na mniejszą klasę i kilka interfejsów. W klasach podrzędnych implementować tylko potrzebne interfejsy (jest to przeważnie najlepsze rozwiązanie)
-w klasach podrzędnych zaimplementować wszystkie metody, ale niech niepotrzebne rzucają OperationNotSupportedException
-zaimplementować wszystkie operacje w klasie nadrzędnej pustymi metodami(albo rzucać OperationNotSupportedException)

0
cppmaniak napisał(a)

Mam takie pytanko. Chciałbym zrobić klasę abstrakcyjną a w niej kilka metod. Lecz nie chciał bym, by pojawiały się błędy jeśli któraś z metod nie zostanie zaimplementowana w klasie dziedziczącej. Jak to zrobić?

metody abstrakcyjne wymusza implementacje w klasach dziedziczacych

0

Dziękuję :) Przepraszam za nieprecyzyjne pytanie.

0

zawsze możesz stworzyc adapter np:
interface A1{
void metoda();
void metoda2();
}

class A1adapter implements A1{
public void metoda() {}
public void metoda2() {}
}

class Main extends A1adapter{
public void metoda() {System.out.println("blablabal");}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1