Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Azasel

unregistriert

1

18.12.2016, 14:27

Verständnisfrage zu Typenumwandlung bei Referenzvariablen[Java]

Moin,

Da das Javaforum.org seit einigen Tagen nicht merh erreichbar ist, möchte ich meine Frage
hier erläutern.

Wie die Überschrift schon sagt, geht es halt um Upcasting/Downcasting

Ich habe mir bereits viele Tutorials zu Typenumwandlung angesehen,
und finde, es ist bisher das aller schwierigste Thema für mich.
Einmal wird es in der Lern Java App kurz beschrieben, dann in mehreren
Tutorials im Internet/Youtube, auch auf anderen Seiten, doch keins von
den Tutorials konnte mir das Verständins dazu aneignen :(

Vielleicht frage ich erstmal nach den Sinn von Castings,
Also bei den Primitiven Datentypen wie Integer, Double, etc.
ist das eindeutig klar, was der Sinn dahinter ist, bei den anderen
Objekten verstehe ich das wiederum nicht.

Ein Beispiel:



Dann gibt es noch downcasting:


Und zu guter letzt verstehe ich dieses folgende Beispiel nicht:


Bitte hilft mir, danke

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

18.12.2016, 14:42

Stichworte zum Selbststudium: Vererbung, Polymorphie
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Azasel

unregistriert

3

18.12.2016, 16:17

Ich glaube sie sind im falschen Thema gelandet

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

18.12.2016, 16:50

Nein, keineswegs. In Kombination mit diesen Dingen macht das da alles ziemlich viel Sinn.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Azasel

unregistriert

5

18.12.2016, 17:59

Richtige und verständliche Antwort: https://stackoverflow.com/questions/4121…ing-in-this-way
(Die Frage ist von mir selbst gestellt worden)

Und mir ist klar was Polymorphie ist und wann man damit arbeitet

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

6

18.12.2016, 18:08

Die von dir gecheckte Antwort erklärt doch nur was Polymorphie ist. Bei der ganzen Sache geht es eigentlich auch um nichts anderes. Möglicherweise hast du darunter ja vorher etwas anderes verstanden.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Azasel

unregistriert

7

18.12.2016, 18:35

Die von dir gecheckte Antwort erklärt doch nur was Polymorphie ist. Bei der ganzen Sache geht es eigentlich auch um nichts anderes. Möglicherweise hast du darunter ja vorher etwas anderes verstanden.

Ja vielleicht,
unter Polymorphie verstehe ich folgendes:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
class Superclass{

void macheEtwas(){ 
System.out.println("Arbeiten");
}
}
class Subclass extends Superclass{

@Override
void macheEtwas(){
System.out.println("Spielen");
}
}

Beide Klassen besitzen den selben Methodennamen mit unterschiedlichen Anweisungen;
Das verstehe ich unter Polymorphie

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

8

18.12.2016, 18:42

Das ist erst mal nur Vererbung. Polymorph bedeutet in etwa Vielseitigkeit. Das was in dem von dir verlinkten Thread steht ist Polymorphie. Vererbung und Polymorphie solltest du also vielleicht doch noch mal genauer checken.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

9

18.12.2016, 19:01

Nur weil man Vererbung hat, muss man keine Polymorphie nutzen. Genau das ist aber in der Ausgangsfrage der Fall. Also ja, Azasel, das solltest du dir auf jeden Fall nochmal anschauen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige