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ć?
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)
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
Dziękuję :) Przepraszam za nieprecyzyjne pytanie.
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");}
}