Bei Vererbung Objekte erzeugen

Status
Nicht offen für weitere Antworten.

JavaStud45

Mitglied
Hallo,

Ich bereite mich gerade auf eine Informatik Prüfung vor und habe eine kleine Frage zur Objekterzeugung:

Klassendiagramm Bsp:

abstract class Element

class NumberOperand extends Element

abstract class Operator extends Element

class Plus extends Operator

Sowohl NumberOperand, als auch Plus haben Attribute/Methoden der Klasse Element.
Normalerweise würde ich nun bei einer Objekterzeugung von Plus bzw. NumberOperand folgendermaßen vorgehen:

- Element plus = new Plus();
- Element o1 = new NumberOperand();

Bei allen Lösungen wurde es auch immer so gemacht, wenn ähnliche Klassendiagramme vorlagen.
Nur bei diesem Beispiel wurden die Objekte folgendermaßen erzeugt:

- Operator plus = new Plus();
- Element 01 = new NumberOperand();

Also wurde als Typ des zu erzeugenden Objekts jeweils die nächst höhere abstrakte Oberklasse genommen, anstatt einfach nur die oberste zu nehmen.

Meine Frage ist nun was der Unterschied ist. Macht es überhaupt einen Unterschied, oder ist es egal?
Mir ist es absolut unklar warum das hier auf einmal so gemacht wurde und finde auch durchs googeln nichts zu diesem Thema. Soweit ich das bei der weiteren Lösung der kompletten Aufgabe beurteilen kann, ist es scheinbar egal. Bin aber absoluter Java-Noob und würde einfach gerne sicher gehen....
 
S

SlaterB

Gast
also immer das oberste Interface/ oberste Klasse zu verwenden ist ja Quatsch,
dann müsste man konsequent überall Object schreiben, denn Object liegt auch hier noch über Element..

und bei mehreren Interfacen muss man sich eh für eines entscheiden..

und das hängt davon ab, wofür man ein Objekt nutzt!
wenn man es gar nicht braucht, wozu dann überhaupt deklarieren?

wenn man es aber doch braucht, dann doch viel wahrscheinlicher als Operator (für irgendeine OPERATION!)
anstatt 'nur' als Element oder gar 'nur' als Object,
also auch als Operator deklarieren..


vgl. evtl. auch:
Collection - List - ArrayList
 

Wildcard

Top Contributor
Vom Objekt her macht es keinen Unterschied, es hängt lediglich davon ab was man damit machen will.
Code:
Operator plus = new Plus();
Deutet darauf hin das man vorhat die in Operator definierten Methoden zu verwenden.
Du sagst ja auch nicht bei jedem Objekt
Code:
Object o = new ArrayList()
Object o = new String();
Stattdessen typisierst du die Variable die die Objektreferenz hält entsprechend deinen Bedürfnissen.
 

JavaStud45

Mitglied
Also, dass ist ja ein Beispiel aus einer Prüfung. Da ist ja viel "Arbeitsbeschaffung" dabei. Sinnig muss es nicht sein. Ich will nur wissen ob es da gravierende Unterschiede gibt.

Also das logischte für mich wäre folgendes:

Im Moment der Objekterzeugung gibts erstmal keinen Unterscheid. Es werden in beiden Fällen exakt die gleichen Objekte erzeugt.

Nur später hat man eine weiter Unterscheidungsmöglichkeit, dass z.B. bei einer Methode nur Objekte des Typs "Operator" verwendet werden. Wenn man "Element" angeben würde, wären sowohl "Plus" als auch "NumberOperand" möglich.

Wäre das der einzige Unterschied, oder gibts da noch etwas was ich wissen müsste? :)
 

JavaStud45

Mitglied
Hi Wildcard, hab deine Antwort gerade verpasst gehabt. Würde aber ja genau dem entsprechen, was ich bei meinem letzten Post geschrieben habe.

Wie gesagt, will nur sichergehen, dass da nicht irgendein Mechanismus dahintersteckt, den ich dann bei einer Frage in der Prüfung falsch benutze :)

Vielen Dank schonmal an alle!
 

Wildcard

Top Contributor
das Objekt ist das gleiche, aber es gibt einen Unterschied der bei Polymorphie zum Tragen kommt:
Code:
void test(Element e)
{
    System.out.println("ein Element");
}
void test(Operator o)
{
    System.out.println("ein Operator");
}
...
Element e = new Operator();
test(e);
Operator o = new Operator();
test(o);
 

JavaStud45

Mitglied
Jetzt ist definitiv alles klar.
Vielen Dank für die ultraschnellen Antworten :)

Wünsch euch noch einen schönen Sonntag
(Meiner ist vollgepackt mit Prüfungen von Technischer Informatik und Java Programmierung :( )
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
L Vererbung - Wie Objekte verschiedener Klassen unterscheiden Java Basics - Anfänger-Themen 3
S Objekte die sich auf Objekte beziehen: Keine Vererbung Java Basics - Anfänger-Themen 7
R Objekte in Array ablegen - Vererbung Java Basics - Anfänger-Themen 5
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
M Vererbung - Polymorphie Java Basics - Anfänger-Themen 37
L Java- Vererbung Java Basics - Anfänger-Themen 4
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 12
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 1
I JSON / XML Struktur mit Vererbung / Interfaces Java Basics - Anfänger-Themen 0
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
M Vererbung Java Basics - Anfänger-Themen 6
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Java Basics - Anfänger-Themen 7
D Vererbung Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
H Datenkapselung, Vererbung und UML Java Basics - Anfänger-Themen 16
districon Super-Stichwort/ Vererbung Java Basics - Anfänger-Themen 3
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
1 Vererbung Klassenattribute Java Basics - Anfänger-Themen 9
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
N Thema Vererbung Java Basics - Anfänger-Themen 31
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
B Vererbung - Sichtbarkeitsmodifikation - protected Java Basics - Anfänger-Themen 10
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
Y Vererbung Konto - Anfangsprobleme Java Basics - Anfänger-Themen 7
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
Kirby.exe Vererbung im Detail erklärt? Java Basics - Anfänger-Themen 9
N Modellierung, vererbung, Java Basics - Anfänger-Themen 163
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung im Computerspiel Java Basics - Anfänger-Themen 7
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
I Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
V Vererbung Java Basics - Anfänger-Themen 2
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
J Vererbung Java Basics - Anfänger-Themen 3
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
O Umgang mit Vererbung verstehen Java Basics - Anfänger-Themen 4
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
O Vererbung änderung des Konstruktors Java Basics - Anfänger-Themen 8
L Vererbung Java Basics - Anfänger-Themen 5
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
A Objekterstellung bei der Vererbung Java Basics - Anfänger-Themen 7
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
S Vererbung Java mehrfach Java Basics - Anfänger-Themen 10
A Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
G Polymorphie, Vererbung, statischer Typ, Laufzeittyp Java Basics - Anfänger-Themen 2
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
S Vererbung Funktionsweise Code zur Vererbung Java Basics - Anfänger-Themen 1
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
S Verständnis Vererbung Java Basics - Anfänger-Themen 3
D JavaFX Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Generizität und Vererbung Java Basics - Anfänger-Themen 4
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
K Vererbung Octagon von Circle Java Basics - Anfänger-Themen 0
B Hilfe bei Vererbung Java Basics - Anfänger-Themen 2
D Vererbung Frage zum Klassenaufbau mit Vererbung Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 1
F Vererbung in zwei Richtungen? Java Basics - Anfänger-Themen 14
D Vererbung / Polymorphie Java Basics - Anfänger-Themen 5
O Vererbung Java Basics - Anfänger-Themen 5
MiMa Vererbung Theorie OK, Praxis ?? Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 10
L Setter und Getter/Vererbung Java Basics - Anfänger-Themen 6
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
J Kleinere Frage zur Vererbung/Objekterzeugung Java Basics - Anfänger-Themen 2
G Vererbung Java Basics - Anfänger-Themen 12
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
J Vererbung Vererbung von Methoden Java Basics - Anfänger-Themen 6
B Vererbung Java Basics - Anfänger-Themen 12
K Vererbung (super) Java Basics - Anfänger-Themen 2
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
C Vererbung Java Basics - Anfänger-Themen 4
L Vererbung Java Basics - Anfänger-Themen 3
J Klassenorganisation | Vererbung Java Basics - Anfänger-Themen 1
B Vererbung Vererbung Java Basics - Anfänger-Themen 2
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
A Benötige Hilfe bei Vererbung Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben