Fragen zu Java

Neue Frage »

Auf diesen Beitrag antworten »
Batista Fragen zu Java

Ich habe recht bald meine Nachholklausur in Java und immer stellt der Prof allgemeine Fragen zu Java in der Klausur.
Das Skript ist soweit fertig gelernt, allerdings würde es mich freuen, wenn ihr(Experten, als auch Anfänger) Fragen zu Java mir stellt und ich werde versuchen diese zu beantworten.

Vielen Dank im Voraus smile
 
Auf diesen Beitrag antworten »
Gramo

Was bedeutet Polymorphie?

Was ist der Unterschied zwischen "Überladen" und "Überschreiben" von Methoden?

Welche Zugriffsmodifizierer gibt es und wie unterscheiden sie sich?
Auf diesen Beitrag antworten »
Batista

Polymorphismus besagt, dass nicht nur Objekte der VaterKlasse aufgenommen werden können, sondern auchObjekte aller abgeleiteten Klassen von der Vaterklasse.

Überladen bedeutet, wenn der Methodename mehre mal vorkommt, aber mit unterschiedlicher Signatur.
Bsp:
public static void getA(Alpha a);

public static void getA(Alpha b);


Überschreiben einer Methode tritt ein, wenn eine Methode sowohl in der Vaterklasse als auch in der Unterklasse gibt, dann wird für ein Objekt der Unterklasse die Methode in der Unterklasse aufgerufen.

public -> von überall zugreifbar
protect-> nur in der Vaterklasse und sowohl in den vererbten Klassen sichtbar
private-> nur in der Klasse sichtbar
Auf diesen Beitrag antworten »
Karlito

Zitat:
Original von Batista
Polymorphismus besagt, dass nicht nur Objekte der VaterKlasse aufgenommen werden können, sondern auchObjekte aller abgeleiteten Klassen von der Vaterklasse.


Was meinst Du mit aufgenommen?

Zitat:
Original von Batista
Überladen bedeutet, wenn der Methodename mehre mal vorkommt, aber mit unterschiedlicher Signatur.
Bsp:
public static void getA(Alpha a);

public static void getA(Alpha b);


Stimmt, aber das Beispiel ist falsch. Nur weil sich der Parametername unterscheided, unterscheided sich die Signatur nicht. Die Signatur zeichnet sich durch den Typen der Parameter aus, der Name der Parameter spielt keine Rolle.


Zitat:
Original von Batista
Überschreiben einer Methode tritt ein, wenn eine Methode sowohl in der Vaterklasse als auch in der Unterklasse gibt, dann wird für ein Objekt der Unterklasse die Methode in der Unterklasse aufgerufen.


Ungenau! Je nach Sichtbarkeit ist jede Methode automatisch mit in den Kindklassen verfügbar. Deshalb ist sie noch lange nicht überschrieben.

Zitat:
Original von Batista
public -> von überall zugreifbar
protect-> nur in der Vaterklasse und sowohl in den vererbten Klassen sichtbar
private-> nur in der Klasse sichtbar


Es fehlt eine Sichtbarkeit, die sehr gerne vergessen wird!

Gruß,

Karliito
 
Auf diesen Beitrag antworten »
Batista

benutzt werden können.
Bsp: wenn eine Methode nur in der Vaterklasse gibt, dann kann auch ein Objekt der Unterklasse diese benutzen

Mit Überladen hast du recht, da man
public static void getA(Alpha a);

public static void getA(Int b);

als Beispiel benutzen sollen.

Überschreiben:
Die Methode modelliert in der abgeleiteten Klasse i.d.R. ein anderes Verhalten als in der Vaterklasse.


packages -> alle die dem selben package angehören, haben zugriff darauf


Weitere Fragen gerne Willkommen
Auf diesen Beitrag antworten »
Karlito

Zitat:
Original von Batista
benutzt werden können.
Bsp: wenn eine Methode nur in der Vaterklasse gibt, dann kann auch ein Objekt der Unterklasse diese benutzen


Kann man glaube so gelten lassen. Wenn Du noch ein Beispiel hättest wäre das vlt von Vorteil. So sähe ich, dass Du es wirklich vestanden hast.

Zitat:
Original von Batista
Mit Überladen hast du recht, da man
public static void getA(Alpha a);

public static void getA(Int b);

als Beispiel benutzen sollen.


Jup.

Zitat:
Original von Batista
Überschreiben:
Die Methode modelliert in der abgeleiteten Klasse i.d.R. ein anderes Verhalten als in der Vaterklasse.


Wie? Was heißt hier in der Regel? Was ist außerhalb der Regel? (Modelliert ist hier auch das falsche Wort.)

Zitat:
Original von Batista
packages -> alle die dem selben package angehören, haben zugriff darauf


Jup. Alternativ heißt diese Sichtbarkeit machmal auch Default-Sichtbarkeit, da sie verweindet wird, wenn keine Sichtbarkeit angegeben wurde...

Gruß,

Karlito
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »