Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Fragen zu Java » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Fragen zu Java
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Batista
unregistriert
Fragen zu Java Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
07.04.2015 12:11
Gramo
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Was bedeutet Polymorphie?

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

Welche Zugriffsmodifizierer gibt es und wie unterscheiden sie sich?
07.04.2015 13:27
Batista
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
07.04.2015 14:36
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
07.04.2015 15:49 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Batista
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
07.04.2015 20:18
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
08.04.2015 00:07 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Fragen zu Java