Benutzer-Werkzeuge

Webseiten-Werkzeuge


polymorphismus:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
polymorphismus:start [2023/02/28 08:13] – angelegt Martin Pabstpolymorphismus:start [2023/03/09 16:50] (aktuell) – [2. Casten] Martin Pabst
Zeile 1: Zeile 1:
 ====== Polymorphismus ====== ====== Polymorphismus ======
 +===== 1. Definition =====
 <WRAP center round info 100%> <WRAP center round info 100%>
-Wir werden ein neues Projekt (Space-Shooterbeginnen und bei der Arbeit daran das neue Konzept des **Polymorphismus** kennenlernenSobald wir soweit sind, werde ich hier den entsprechenden Hefteintrag ergänzen.+Wir beginnen mit einem einfachen Beispiel, in dem wir zu einer Oberklasse (''Tier'') zwei Unterklassen (''Katze'', ''Hund'') bilden: 
 +{{ :polymorphismus:pasted:20230309-171339.png?400 }} 
 + 
 +Einer Variablen vom Typ ''Tier'' können wir sowohl ''Hund''-Objekte als auch ''Katze''-Objekte zuordnen. In beiden Fällen können wir die Methode ''stellDichVor()'' der Klasse ''Tier'' aufrufen: 
 +<code java> 
 +Tier t;  
 +t = new Katze("Snoopy"); 
 +t.stellDichVor(); 
 + 
 +t = new Hund("Bello"); 
 +t.stellDichVor(); 
 +</code> 
 +Die Variable ''t'' kann sowohl auf ein ''Hund''-Objekt zeigen als auch auf ein ''Katze''-Objekt. Diesen Sachverhalt nennt man **Polymorphismus**. Das Wort kommt aus dem Griechischen und bedeutet "Vielgestaltigkeit".
 </WRAP> </WRAP>
 +
 +
 +<HTML>
 +
 +<div class="java-online" style="height: 50vh; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'polymorphismus1'}">
 +
 +<script type="text/plain" title="Test1.java">
 +
 +Tier t; 
 +t = new Katze("Snoopy");
 +t.stellDichVor();
 +
 +t = new Hund("Bello");
 +t.stellDichVor();
 +
 +class Tier {
 +   String name;
 +   String art;
 +
 +   Tier(String art, String name) {
 +      this.art = art;
 +      this.name = name;
 +   }
 +
 +   void stellDichVor() {
 +      println("Ich heiße " + name + " und bin ein/e " + art);
 +   }
 +
 +}
 +
 +class Katze extends Tier {
 +   Katze(String name) {
 +      super("Katze", name);
 +   }
 +}
 +
 +class Hund extends Tier {
 +   Hund(String name) {
 +      super("Hund", name);
 +   }
 +}
 +
 +
 +</script>
 +
 +</div>
 +
 +
 +</HTML>
 +
 +
  
polymorphismus/start.1677571999.txt.gz · Zuletzt geändert: 2023/02/28 08:13 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki