Hallo,
Ich lerne zut Zeit Java mit einem Buch. In dem Buch wurden die Technologien von Interfaces und Abstrakten Klassen erklärt und mir ist noch nicht ganz schlüssig, wozu ich Abstrakte Klassen benötige. Im Endeffekt sind Abstrakte klassen "nur" Klassen, aus denen ich andere Klassen ableiten kann und keine Objekte. Diese Klassen geben vor, welche Attribute und Methoden eine Subclass haben MUSS, es können aber mehr existieren. Die implementierung der Methode ist aber nicht in der abstrakten Klasse erforderlich. Warum nehme ich nicht einfach eine normale Superklasse? Sie kann zwar nicht bestimmen, welche methoden definiert werden müssen, implementierte Methoden werden jedoch vererbt und sind so oder so vorhanden.
Mittels interfaces kann man verschiedene Interfaces Kombinieren. Da ergibt sich mir der Sinn schon eher.
oder habe ich da etwas vollkommen falsch verstanden?
Ich muss dazu sagen, dass ich vorher in der Schule Pascal und C++ hatte, aber nie OOP vertieft. Dennoch habe ich etwas Verständnis dafür und bin kein kompletter Neuanfänger. In dem Buch, womit ich java lerne sind auch einige unstimmigkeiten. Es ist also nicht das beste und es würde mich nicht wundern, wenn ich es nicht verstanden habe.
Vielen Dank im Voraus.
Ich lerne zut Zeit Java mit einem Buch. In dem Buch wurden die Technologien von Interfaces und Abstrakten Klassen erklärt und mir ist noch nicht ganz schlüssig, wozu ich Abstrakte Klassen benötige. Im Endeffekt sind Abstrakte klassen "nur" Klassen, aus denen ich andere Klassen ableiten kann und keine Objekte. Diese Klassen geben vor, welche Attribute und Methoden eine Subclass haben MUSS, es können aber mehr existieren. Die implementierung der Methode ist aber nicht in der abstrakten Klasse erforderlich. Warum nehme ich nicht einfach eine normale Superklasse? Sie kann zwar nicht bestimmen, welche methoden definiert werden müssen, implementierte Methoden werden jedoch vererbt und sind so oder so vorhanden.
Mittels interfaces kann man verschiedene Interfaces Kombinieren. Da ergibt sich mir der Sinn schon eher.
oder habe ich da etwas vollkommen falsch verstanden?
Ich muss dazu sagen, dass ich vorher in der Schule Pascal und C++ hatte, aber nie OOP vertieft. Dennoch habe ich etwas Verständnis dafür und bin kein kompletter Neuanfänger. In dem Buch, womit ich java lerne sind auch einige unstimmigkeiten. Es ist also nicht das beste und es würde mich nicht wundern, wenn ich es nicht verstanden habe.
Vielen Dank im Voraus.