Grundsätzliches: Besser extend oder instanziieren?

oldshoe

Bekanntes Mitglied
Hallo,
ich habe mehrere Klassen die von einer Oberklasse(SuperClass) erben, da meist mehrere Methoden genutzt werden sollen.
Jetzt habe ich auch noch eine ganz andere Klasse (OtherClass) die auch eine Methode dieser Oberklasse nutzen soll.
Daher meine Frage:
Macht es einen Unterschied, wenn ja inwiefern, ob ich in OtherClass SuperClass extende oder instanziiere um die Methode nutzen zu können????:L:rtfm:
 

MarcB

Bekanntes Mitglied
Also Grundsätzlich ist meist Komposition der Vererbung vorzuziehen.
Wo es Sinn macht zu vererben, sollte man das auch tun.

Man kann sich dabei an folgende Daumenregel halten:
Handelt es sich um eine Ist-Ein-Beziehung → Vererbung (z.B. ein Hund ist ein Tier)
Handelt es sich um eine Hat-Ein-Beziehung → Komposition (z.B. ein Auto enthält einen Motor)

Ausnahmen gibts natürlich auch.
 

Landei

Top Contributor
Wenn es nur einen gemeinsamen "Teilaspekt" gibt, bietet sich ein Interface an, das von beiden Klassen implementiert wird, insbesondere wenn sich die konkreten Implementierungen der gemeinsamen Methoden sowieso meistens unterscheiden werden. Z.B. ist es oft nicht ratsam, alle "zeichenbaren" Objekte in einem Grafikprogramm von einer gemeinsamen Basisklasse abzuleiten, sondern besser alle Klassen ein Drawable-Interface oder so implementieren zu lassen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
nonickatall Grundsätzliches Verständnisproblem des Aufbaus eines Programms Java Basics - Anfänger-Themen 19
FrankR2 Grundsätzliches Verständnisproblem: Java 32/64-bit; Windows 7/8, 32/64-bit-System Java Basics - Anfänger-Themen 5
P Grundsätzliches zur String-Initialisierung Java Basics - Anfänger-Themen 2
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
S Was ist "besser"? Java Basics - Anfänger-Themen 5
R Uebersichtlicher bzw. besser Programmieren Java Basics - Anfänger-Themen 13
Shizmo Methoden Formel besser implementieren Java Basics - Anfänger-Themen 8
J Texte für Java Programmierung besser verstehen? Java Basics - Anfänger-Themen 2
S Code richtig / besser machbar? (Nicht sicher, ob Code selbst falsch ist) Java Basics - Anfänger-Themen 4
B Ist MyFrame oder JFrame besser? Java Basics - Anfänger-Themen 3
O Java und JSF besser verstehen Java Basics - Anfänger-Themen 1
M Komplexe Datenauswertungen in Java oder besser auf Datenbankseite ausführen? Java Basics - Anfänger-Themen 4
I Wie diesen Code besser schreiben? (Zeitformate) Java Basics - Anfänger-Themen 2
0 OOP Attributwerte besser im Konstruktor oder vorher zuweisen? Java Basics - Anfänger-Themen 6
A Besser Programmieren Java Basics - Anfänger-Themen 15
L Wo anfangen um besser zu werden Java Basics - Anfänger-Themen 13
L Erste Schritte Sollte ich hier lieber Cases verwenden oder wäre eine If-Bedingung besser? Java Basics - Anfänger-Themen 6
A HashSet (oder besser geignetes) Java Basics - Anfänger-Themen 14
O String-Prüfung: Was ist besser/schneller? Java Basics - Anfänger-Themen 15
S OOP Java Kommentare, Programm besser verstehen Java Basics - Anfänger-Themen 6
C Soundwiedergabe in einem Thread - Speicher besser bereinigen Java Basics - Anfänger-Themen 3
A Besser als instanceof Java Basics - Anfänger-Themen 6
H Serialization: Was ist besser(schneller) Binary <-> XM Java Basics - Anfänger-Themen 2
X besser als System.arraycopy(.) Java Basics - Anfänger-Themen 5
G Was würdet ihr besser/anders machen? Java Basics - Anfänger-Themen 9
M Welche Schleife ist besser? Java Basics - Anfänger-Themen 6
H ActionListener - was ist besser. Java Basics - Anfänger-Themen 7
M wie kann man diese Funktion besser machen ? Java Basics - Anfänger-Themen 3
G konkretes beispiel: interface hier besser als abstrakte kl. Java Basics - Anfänger-Themen 4
G String-Vergleich: Was ist besser "equals()" oder & Java Basics - Anfänger-Themen 4
megachucky Was kann ich besser / sinnvoller machen bei meinem code Java Basics - Anfänger-Themen 7
F GUI als Klasse oder extend JFrame? Java Basics - Anfänger-Themen 6
M Main vererbung per extend funktioniert nicht Java Basics - Anfänger-Themen 2
J Klasse wird nicht vererb (extend funzt nicht??) Java Basics - Anfänger-Themen 11
D Warum sollte ich bestehende Funktionen "extend"en? Java Basics - Anfänger-Themen 32
alexpetri Klassendesign: Extend / Implement Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben