OOP Sinn von abstrakten Klassen

Polyxenius

Neues Mitglied
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.
 

JCODA

Top Contributor
Manchmal sind diese Superklassen zu "abstrakt" um zu existieren. Bsp: "BMW extends Car" oder "Opel extends Car". Du möchtest eben nicht, dass Car-Objekte existieren, die nicht durch eine Unterklasse spezifiziert wurden. Zu dem ist es hilfreich den "Zwang" zu besitzen gewisse Methode zu implementieren, so werden sie etwa nicht vergessen. Im Grunde hast du Recht, abstrakte Klassen bieten kein tatsächlichen Funktionalitätsgewinn, allerdings gewinnt man dadurch Struktur und CodeQuality.
 

Jardcore

Top Contributor
Du kannst auch in abstrakten Superklassen Methoden deklarieren die mit vererbt werden.
Diese solltest du dann einfach wie gewohnt schreiben. Wenn du nun möchtest, dass spezielle Funktionalität erst in der Subklasse implementiert wird schreibst du eine abstrakte Methode in die Superklasse.

Beste Grüße,
Jar
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Interfaces von Interfaces macht das noch Sinn? Java Basics - Anfänger-Themen 21
F Hat es noch einen Sinn, alte Versionen zu lernen Java Basics - Anfänger-Themen 45
berserkerdq2 Wo ist der SInn, dass man den Stream, den ich zum Schreiben nutze, outputstream nenne? Java Basics - Anfänger-Themen 5
H Sinn von Interfaces Java Basics - Anfänger-Themen 21
W Sinn eines Singleton ? Java Basics - Anfänger-Themen 14
R getUserProperties() macht für mich keinen Sinn Java Basics - Anfänger-Themen 8
E Sinn: final in Parameterliste verwenden Java Basics - Anfänger-Themen 2
B Sinn von Lambdas? Java Basics - Anfänger-Themen 16
5 Welchen Sinn hat ein Runnable Java Basics - Anfänger-Themen 6
M Kapselung Datenkapselung Sinn direkter Zugriff? Java Basics - Anfänger-Themen 1
B Der Sinn von Arrays Java Basics - Anfänger-Themen 2
Q Container sinn? Java Basics - Anfänger-Themen 3
S string index out of range - es ergibt keinen Sinn Java Basics - Anfänger-Themen 6
C Sinn eines Interfaces? Java Basics - Anfänger-Themen 4
J Sinn/Nutzen von Scanner Java Basics - Anfänger-Themen 23
B Sinn von Reflections Java Basics - Anfänger-Themen 10
H Vererbung Prinzip der Ersetzbarkeit-Sinn? Java Basics - Anfänger-Themen 9
F Sinn der SuppressWarnings("unused")-Annotation Java Basics - Anfänger-Themen 5
R Sinn des programmes Java Basics - Anfänger-Themen 10
W Sinn von Konstruktorsyntax und finalize Java Basics - Anfänger-Themen 14
J Worin besteht der Sinn und Anwendungsbereich von Dreidimensionalen Arrays? Java Basics - Anfänger-Themen 11
J Datentypen Was ist der Sinn vom Datentyp "char" ? Java Basics - Anfänger-Themen 11
T Sinn von finally? Java Basics - Anfänger-Themen 3
M Variablen Zinseszinsberechnung - Variable ergibt keinen Sinn Java Basics - Anfänger-Themen 15
A Klassen Sinn des Konstruktors Java Basics - Anfänger-Themen 12
P Sinn des Security Managers Java Basics - Anfänger-Themen 2
J Welchen Sinn haben abstrakte Methoden? Java Basics - Anfänger-Themen 4
D Sinn von Jar Dateien Java Basics - Anfänger-Themen 5
D Sinn von Interfaces - Wozu? Java Basics - Anfänger-Themen 9
K Sinn eigener Exceptions Java Basics - Anfänger-Themen 11
Luk10 Sinn von Instanzierung ohne Referenz Java Basics - Anfänger-Themen 7
hdi Sinn von RuntimeExceptions? Java Basics - Anfänger-Themen 90
Developer_X NullPointer Exception ohne Sinn Java Basics - Anfänger-Themen 19
L Sinn hinter Generic? Java Basics - Anfänger-Themen 5
M Der Java Schlüsselwort null; ?Welche Anweisung und Sinn? Java Basics - Anfänger-Themen 12
A Macht es Sinn Arraylisten mit Gettern zu übergeben? Java Basics - Anfänger-Themen 19
M Variable überwachen und Sinn eines Threads Java Basics - Anfänger-Themen 7
G Sinn vo OOP Java Basics - Anfänger-Themen 5
P Unterschied zwischen Interface und Vererbung und Sinn? Java Basics - Anfänger-Themen 5
G sinn von JList Java Basics - Anfänger-Themen 6
K Sinn von Interfaces Java Basics - Anfänger-Themen 10
U Funktionale Interfaces mit mehreren abstrakten Methoden? Java Basics - Anfänger-Themen 8
L Klassen Kann eine Unterklasse einer abstrakten Klasse ein Interface implementieren? Java Basics - Anfänger-Themen 2
M Methoden Overloading in abstrakten Klassen Java Basics - Anfänger-Themen 26
F Probleme mit privaten Klassen (abstrakten Klassen) Java Basics - Anfänger-Themen 1
B in einem abstrakten Set ,Elemente einer einfache verkettete List epeichern Java Basics - Anfänger-Themen 13
G Methode einer Abstrakten Klasse aufrufen Java Basics - Anfänger-Themen 1
C Konstruktor in Abstrakten Klassen Java Basics - Anfänger-Themen 4
O Javadoc bei abstrakten Methoden Java Basics - Anfänger-Themen 1
M Frage zu Generics in Klassen, Abstrakten Klassen und Interfaces Java Basics - Anfänger-Themen 5
G Auf einen bestimmten Konstruktor in der abstrakten Superklasse zugreifen? Java Basics - Anfänger-Themen 2
T Interface implementieren mit Abstrakten Typen? Java Basics - Anfänger-Themen 4
F Interface Unterschied von Attributen und Methoden bei abstrakten Klassen und Interfaces Java Basics - Anfänger-Themen 5
T fenster schliesen und mouse events in einer nicht abstrakten klasse Java Basics - Anfänger-Themen 6
Corben Methoden Methode einer Abstrakten Klasse Java Basics - Anfänger-Themen 7
A Deklarationen in abstrakten Klassen und Interfaces Java Basics - Anfänger-Themen 11
N finale Attribute in abstrakten Basisklassen Java Basics - Anfänger-Themen 6
T Frage zu Interfaces und Abstrakten Klassen Java Basics - Anfänger-Themen 4
Spin Eigenen Abstrakten Datentypen Java Basics - Anfänger-Themen 28
A Verwendung von abstrakten Klassen Java Basics - Anfänger-Themen 17
X Problem: Erben von einer abstrakten Klasse Java Basics - Anfänger-Themen 4
I [Java] Umgang mit abstrakten Klassen, Interfaceklassen (BSP) Java Basics - Anfänger-Themen 12
M Frage zu einer abstrakten Klasse Java Basics - Anfänger-Themen 16
N variablen vom typ einer abstrakten Klasse Java Basics - Anfänger-Themen 5
M instanzieren einer abstrakten Klasse? Java Basics - Anfänger-Themen 2
A Objekte von abstrakten Klassen? Java Basics - Anfänger-Themen 6
M Rückgabetype Unterklasse von einer abstrakten Klasse Java Basics - Anfänger-Themen 3
V Verständnisproblem mit Abstrakten zu Konkreten Klassen Java Basics - Anfänger-Themen 7
S Field einer abstrakten Klasse wird nicht gesetzt Java Basics - Anfänger-Themen 2
T Instanzen von abstrakten Klassen? Java Basics - Anfänger-Themen 14
S Objektrückgabe durch Factory-Methode in abstrakten Klassen Java Basics - Anfänger-Themen 4
J Methodenaufrufe abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 17
M Abstrakte Klassen - Notation Java Basics - Anfänger-Themen 9
Detlef Bosau Nachladen von Klassen zur Laufzeit Java Basics - Anfänger-Themen 24
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
I 2 verschiedene Klassen mit gleichen Property vergleichen Java Basics - Anfänger-Themen 13
C Array von Klassen Java Basics - Anfänger-Themen 2
monsterherz 2 Klassen daher Probs mit dem Dateinamen Java Basics - Anfänger-Themen 9
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 9
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
D Klassen Klassen Kommunikation Java Basics - Anfänger-Themen 12
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
L Best Practice Annotierte Klassen im Classpath herausfinden Java Basics - Anfänger-Themen 1
P Mit dem Scanner Klassen aufrufen Java Basics - Anfänger-Themen 3
O Klassen Zusammenspiel zwischen 2 Klassen Java Basics - Anfänger-Themen 1
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6
Speedrunner klassen aufrufen Java Basics - Anfänger-Themen 41
M Log4J (v2) nachträglich in allen Klassen hinzufügen Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben