import java.util.ArrayList; import java.util.Collections; /* Klassen oppretter noen testobjekter, og kaller p? deres metoder for ? alge lyd. */ class Main{ public static void main(String[] args) { ArrayList dyr = new ArrayList(); for(int i = 0; i < 7; i++){ Katt k = new Katt("Mons", 3); Hund h = new Hund("Max", 2); Menneske m = new Menneske("Miriam", 25, "Student"); dyr.add(k); dyr.add(h); dyr.add(m); } Collections.shuffle(dyr); lagLyd(dyr); lagLydPolymorfi(dyr); testEquals(); } //Metoden bruker instanceof i stedet for polymorfi public static void lagLyd(ArrayList dyr){ for(Pattedyr p : dyr){ if(p instanceof Hund){ Hund h = (Hund) p; h.bjeff(); }else if(p instanceof Katt){ Katt k = (Katt) p; k.mjau(); }else if(p instanceof Menneske){ Menneske m = (Menneske) p; m.snakk(); } } } //Metoden bruker polymorfi i stedet for instanceof public static void lagLydPolymorfi(ArrayList dyr){ for(Pattedyr p : dyr){ p.lyd(); System.out.println(p.toString()); System.out.println("... Og dette er min ID: " + p.getID()); } } //Fordi alle dyrene v?re har unik ID, vil denne alltid vise false! Pr?v ? hardkode noen ID'er og se om du f?r true! public static void testEquals(){ Katt k = new Katt("Mette", 2); Katt l = new Katt("Olav", 3); if(k.equals(l)){ System.out.println("Dette er samme katt!"); }else{ System.out.println("Dette er ikke samme katt!"); } } }