Fisch f = new Fisch("Nemo",123);
f.laufe();
Fisch f = new Fisch("Nemo",123); f.laufe();
Java
Tier[] tiere = new Tier[2]; // neues Array für zwei Objekte vom Typ Tier erstellen Papagei p = new Papagei("Ara",1.3,"Hallo",40); p.setAnzahlBeine(2); Loewe leo = new Loewe("Leo",115); leo.setAnzahlBeine(4); tiere[0] = p; // p und leo im Array speichern tiere[1] = leo; int summe = 0; // in Summe steht am Ende die Gesamtzahl der Beine for (int i = 0; i<tiere.length; i++) { summe += tiere[i].getAnzahlBeine(); // Problem!! }
Java
for (int i = 0; i<tiere.length; i++) { if (tiere[i] instanceof Papagei){ summe += ((Papagei) tiere[i]).getAnzahlBeine(); } else if (tiere[i] instanceof Loewe){ summe += ((Loewe) tiere[i]).getAnzahlBeine(); } }
Java
zoohandlung/Laufen.java:
package zoohandlung; public interface Laufen { public void laufe(); public int getAnzahlBeine(); public void setAnzahlBeine(int anzahl); }
Java
zoohandlung/Tier.java:
package zoohandlung; public abstract class Tier { protected String name; double gewicht; String futterzeit; public Tier(){} public Tier(String name, double gewicht) { this.name = name; this.gewicht = gewicht; } @Override public String toString(){ return "Ich heiße "+name+" und wiege "+gewicht+" kg"; } }
Java
zoohandlung/Papagei.java:
package zoohandlung; public class Papagei extends Tier implements Laufen { String lieblingswort; double spannweite; int anzahlBeine; // ist jetzt hier und nicht mehr in Tier public Papagei(String name, double gewicht, String lieblingswort, double spannweite) { super(name, gewicht); this.lieblingswort = lieblingswort; this.spannweite = spannweite; } public void fliege() { System.out.println("Ich fliege"); } public String sprich(String wort) { System.out.println(wort); return wort; } @Override public void laufe() { System.out.println("Ich laufe"); } @Override public void setAnzahlBeine(int anzahlBeine) { this.anzahlBeine = anzahlBeine; } @Override public int getAnzahlBeine() { return anzahlBeine; } }
Java
Tier[] tiere = new Tier[2]; // neues Array für zwei Objekte vom Typ Tier erstellen Papagei p = new Papagei("Ara",1.3,"Hallo",40); p.setAnzahlBeine(2); Loewe leo = new Loewe("Leo",115); leo.setAnzahlBeine(4); tiere[0] = p; // p und leo im Array speichern tiere[1] = leo; int summe = 0; // in Summe steht am Ende die Gesamtzahl der Beine for (int i = 0; i<tiere.length; i++) { summe += tiere[i].getAnzahlBeine(); // Problem!! }
Java
externesPackage/ExterneMainKlasse.java:
package externesPackage; import zoohandlung.*; public class ExterneMainKlasse { public static void main(String[] args) { Laufen[] tiere = new Laufen[2]; // neues Array für zwei Objekte vom Typ Laufen erstellen Papagei p = new Papagei("Ara", 1.3, "Hallo", 40); p.setAnzahlBeine(2); Loewe leo = new Loewe("Leo", 115); leo.setAnzahlBeine(4); tiere[0] = p; // p und leo im Array speichern tiere[1] = leo; int summe = 0; // in Summe steht am Ende die Gesamtzahl der Beine for (int i = 0; i < tiere.length; i++) { summe += tiere[i].getAnzahlBeine(); // Jetzt geht alles! } System.out.println(summe); } }
Java
zoohandlung/Fisch.java:
package zoohandlung; public class Fisch extends Tier { int maxTauchtiefe; int anzahlKiemen; public Fisch(String name, double gewicht) { super(name, gewicht); } public void schwimme() { System.out.println("Ich schwimme!"); } public void blubber(int anzahl) { for (int i = 0; i < anzahl; i++) { System.out.println("blubb"); } } }
Java