vererbung vs benutzung

Status
Nicht offen für weitere Antworten.
G

gast

Gast
Vererbung:
Code:
class Y extends x{...}

Benutzung:

class Y{
  X d;
  ...
}

Ich hab dazu mal ein paar Fragen, leider gibts im Internet dazu kaum Informationen über die pro und kontras.

Fragen:
- bei welchem Ist die Kompilierzeit geringer?
- bei welchem ist der Objektcode kürzer?

[/code]
 
A

Anmeldeboykottierer

Gast
Hi,
es ist eigentlich wenig verwunderlich, dass du kaum Informationen zu den Fragen findest! Ich hoffe dass es auch hier so bleiben wird, aber die Fragen sollten sich gar nicht stellen!
Egal wie die Antwort aussieht, es würde nichts daran ändern, dass das komplett verschiedene Dinge sind. Man sollte nicht anhand dieser Fragen zwischen Benutzung und Vererbung abwägen, was man verwendet.
Wann was in Frage kommt, dazu solltest du jede Menge finden!

Gruß Der Anmeldeboykottierer
 
G

Gast

Gast
Darum geht es nicht. Es geht allein um die Fragen.
Es hängt nicht von den Antworten ab was ich benutze.
 

KSG9|sebastian

Top Contributor
habs nicht getestet, aber ich schätz dass die compilerzeit sich nur absolut minimal ändert..

Vererbung = "Ist-Beziehung"

Code:
class KFZ{
}

class Auto extends KFZ{

}
 

Sasa

Mitglied
Die Frage welcher der beiden Varianten besser ist, stelle ich mir öfters, wenn ich ein kleines Programm mit grafischer Oberfläche schreiben will:

1. JFrame als Variable
Code:
import javax.swing.JFrame;

public class Fenster {

  private JFrame fenster;
  
  public Fenster() {
    fenster = new JFrame("Test");
    fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    fenster.setBounds(100, 100, 100, 100);
    fenster.setVisible(true);
    // weitere Anweisungen
  }

  public static void main(String[] args) {
    new Fenster();
  }
}

2. extends JFrame
Code:
import javax.swing.JFrame;

public class Fenster extends JFrame {
  
  public Fenster() {
    super("Test");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 100, 100);
    setVisible(true);
    // weitere Anweisungen
  }

  public static void main(String[] args) {
    new Fenster();
  }
}

Hierbei macht es vermutlich keinen großen Unterschied. Die zweite Variante ist natürlich kürzer, stellt aber auch alle öffentlichen Methoden von JFrame zur Verfügung.

Letztendlich muss man wahrscheinlich im konkreten Fall entscheiden. Ich würde vermuten, dass durch die Vererbung nur ein Objekt im Speicher liegt und im anderen Fall zwei.
 

Kola

Aktives Mitglied
KSG9|sebastian hat gesagt.:
Vererbung = "Ist-Beziehung"

Das lernt man so, ist aber ungenau (bzw. falsch). Eine Generalisierung ist eine 'Ist-Beziehung'. Vererbung ist ein Mechanismus, um inkrementell mehrere Beschreibungen zu kombinieren.

Siehe "The UML Reference Manual" (Seite 287 bei mir).

Üblicherweise verwenden die Programmierer die Begriffe synonym (wie auch "Funktion" und "Methode"), aber obwohl beide miteinander verwandt sind, sind sie nicht synonym.
 

byte

Top Contributor
Kola hat gesagt.:
KSG9|sebastian hat gesagt.:
Vererbung = "Ist-Beziehung"

Das lernt man so, ist aber ungenau (bzw. falsch). Eine Generalisierung ist eine 'Ist-Beziehung'. Vererbung ist ein Mechanismus, um inkrementell mehrere Beschreibungen zu kombinieren.

Siehe "The UML Reference Manual" (Seite 287 bei mir).

Üblicherweise verwenden die Programmierer die Begriffe synonym (wie auch "Funktion" und "Methode"), aber obwohl beide miteinander verwandt sind, sind sie nicht synonym.

Vererbung ist genauso eine "Ist-Beziehung" wie die Generalisierung, nur das Generalisierung sich halt auf ein abstraktes (UML-) Modell bezieht und Vererbung die Umsetzung dieses Mechanismus in einer Programmiersprache darstellt. Insofern kann man die Begriffe doch sehr wohl im gleichen Zusammenhang verwenden. Oder wo sind Deiner Meinung nach die signifikanten Unterschiede?

Also einzig der Kontext, in welchen die Begriffe verwendet werden, unterscheiden die beiden. Übrigens ähnlich wie bei Funktion und Methode. Wobei da natürlich wirkliche Unterschiede bestehen, weil die Begriffe aus unterschiedlichen Paradigmen kommen.
 

Kola

Aktives Mitglied
OK, dann nochmal etwas formaler:
Generalisierung ist eine taxonomische Beziehung
Vererbung ist ein Mechanismus

Vererbung ist keine Beziehung zu einer Klasse, da die vererbten Merkmale ja erst inkrementell zusammengesucht werden. Also ist das Resultat einer Vererbung so eine Art Beziehung zu allen Klassen, die in der Hierarchie darüber liegen.

Der Unterschied ist klein, trotzdem sind es unterschiedliche Konzepte.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Vererbung?! Allgemeine Java-Themen 15
temi Problem mit Aufrufreihenfolge bei Vererbung Allgemeine Java-Themen 3
MiMa Vererbung und Komposition?? Allgemeine Java-Themen 38
Kirby.exe Vererbung bei Generics Allgemeine Java-Themen 7
L Vererbung Verständnis Probleme Vererbung Allgemeine Java-Themen 2
W Generics + Vererbung Allgemeine Java-Themen 47
M Vererbung mithilfe von Bluej Allgemeine Java-Themen 3
M List -Tableview-Javafx-Vererbung Allgemeine Java-Themen 35
A Vererbung Selbstreferenzparameter Allgemeine Java-Themen 14
D Thema: Vererbung Ober-/Unterklassen Allgemeine Java-Themen 16
D Frage zu Vererbung Allgemeine Java-Themen 5
N Vererbung mit GUI Allgemeine Java-Themen 9
E Vererbung Countable mit Vererbung Allgemeine Java-Themen 6
J 2 Fragen zur Vererbung Allgemeine Java-Themen 5
T Javaklassen und vererbung Allgemeine Java-Themen 32
F Vererbung Allgemeine Java-Themen 5
Neumi5694 Vererbung Restriktive Vererbung Allgemeine Java-Themen 4
A Vererbung Übungsaufgabe Vererbung - Erstellung Klassenhierarchie Allgemeine Java-Themen 1
J Allgemeine Fragen zu Vererbung Allgemeine Java-Themen 1
kaoZ Generics und Vererbung Allgemeine Java-Themen 3
D Problem bei Vererbung abstrakter Klassen Allgemeine Java-Themen 6
D Object nach Vererbung mit Class Object überprüfen Allgemeine Java-Themen 4
T Super Klasse Vererbung Problem :/ Allgemeine Java-Themen 10
L Unabhängige Auslieferung bei Vererbung Allgemeine Java-Themen 20
S MVC - Vererbung Allgemeine Java-Themen 4
C Enums und Vererbung Allgemeine Java-Themen 6
F Google Guice + Generics + Vererbung Allgemeine Java-Themen 5
D Unterschied Vererbung und Polymorphie? Allgemeine Java-Themen 4
K Vererbung ohne Basisklasse zu kennen Allgemeine Java-Themen 20
Da_Tebe ArrayList<xyz> Verschachtelung oder Vererbung? Allgemeine Java-Themen 6
faetzminator statische Variablen in Interface - Vererbung? Allgemeine Java-Themen 9
M OOP PropertyChangeListener - Vererbung oder Komposition? Allgemeine Java-Themen 5
S OOP Mehrfache Vererbung von abstrakten Klassen Allgemeine Java-Themen 7
G Designfrage Vererbung ja oder nein Allgemeine Java-Themen 9
S equals - Identität ändern bei Vererbung? Allgemeine Java-Themen 5
dayaftereh Vererbung Hilfe Allgemeine Java-Themen 2
D Vererbung, Reflection und automatischer Methodenaufruf Allgemeine Java-Themen 24
A PropertyChangeListener Vererbung Allgemeine Java-Themen 4
P DefaultTreeCellRenderer Vererbung Allgemeine Java-Themen 5
S Objekte die Objekte enthalten: Keine Vererbung Allgemeine Java-Themen 4
J Vererbung bei abstrakten Klassen Allgemeine Java-Themen 2
S Vererbung: Welche Methode wird verwendet? Allgemeine Java-Themen 9
L Checkstyle: Wann ist eine Methode für Vererbung entworfen? Allgemeine Java-Themen 13
S normale vererbung als interface Allgemeine Java-Themen 2
S statische Methoden und Vererbung Allgemeine Java-Themen 6
R Vererbung - doppelte Paint-Methode Allgemeine Java-Themen 4
R Vererbung mit Interface und Abstract Allgemeine Java-Themen 3
B Vererbung bei enums ? Allgemeine Java-Themen 3
W Frage zu Vererbung / konkretes Beispiel Allgemeine Java-Themen 4
F Vererbung von SessionBeans Allgemeine Java-Themen 3
O abstract, privat, Vererbung Allgemeine Java-Themen 29
L Annotations mit Vererbung Allgemeine Java-Themen 4
M Singleton und Vererbung? Allgemeine Java-Themen 45
T Problem mit Vererbung Allgemeine Java-Themen 3
V Vererbung und Schleifen Allgemeine Java-Themen 5
C Comparable + Vererbung Funktioniert nicht? Allgemeine Java-Themen 4
A Ansatz Objektorientierung, Methoden Vererbung Allgemeine Java-Themen 2
D Listen von Generischen Typen inkl. Vererbung Allgemeine Java-Themen 2
D Zugriffsmethode nach Vererbung ändern? Allgemeine Java-Themen 5
S Vererbung in UML Allgemeine Java-Themen 3
T Nochmal Frage zu Vererbung Interfaces etc. Allgemeine Java-Themen 10
Y Gedanken zur Vererbung Allgemeine Java-Themen 7
F Vererbung, Generizität und Collections. Allgemeine Java-Themen 7
G Frage zu statischen Variablen bei Vererbung Allgemeine Java-Themen 15
F Vererbung Allgemeine Java-Themen 5
S Vererbung von mehreren Klassen? Allgemeine Java-Themen 5
C enum und Vererbung Allgemeine Java-Themen 3
K Problem mit Vererbung - Kein wirklicher Nutzen. Allgemeine Java-Themen 10
L Vererbung klappt nicht Allgemeine Java-Themen 5
W Probleme mit Arrays und Vererbung ! Allgemeine Java-Themen 5
M vererbung einer "selbst-instanzierungs-klasse" Allgemeine Java-Themen 16
J Vererbung. Allgemeine Java-Themen 8
H Frage zur Vererbung Allgemeine Java-Themen 5
S private Instanzvaribalen bei "Innerer-Vererbung" Allgemeine Java-Themen 9
H Vererbung auch ohne erzeugung einer Instanz möglich? Allgemeine Java-Themen 3
M frage zur vererbung Allgemeine Java-Themen 12
G Generics und Vererbung. Allgemeine Java-Themen 21
M Vererbung von Hashtables Allgemeine Java-Themen 5
C dynamische Vererbung Allgemeine Java-Themen 6
C Fehler bei der Benutzung von itextpdf Allgemeine Java-Themen 1
D Probleme mit der java benutzung Allgemeine Java-Themen 39
W Eclipse und SVN Benutzung Allgemeine Java-Themen 12
K Welches Betriebssystem ist in Benutzung? Allgemeine Java-Themen 11
B Joystick Benutzung in Java Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben