class Hovedprogram { public static void main(String[] args) { //Nå er det ganske mye forskjellig kode her. Det kan være greit å //kommentere ut deler av koden og teste hver del for seg. Feil f = new Feil(); System.out.println(f.delTall()); //Oppretter objekter: Underviser underviser = new Underviser("Kari"); Person u = new Underviser("Ole"); Person m = new Masterstudent("Ole", underviser); Person s = new Student("Knut", "Prosa"); //Tester Polymorf/virtuell metode bestikk(). //Denne metoden oppfører seg forskjellig avhengig av type objekt. u.bestikk(100001); m.bestikk(11); s.bestikk(101); //Hvis det ikke er mer plass kaster vi et eget unntak. //Se nærmere i klassen Universitet. Universitet uni = new Universitet(2); try { uni.leggTil(u); uni.leggTil(m); uni.leggTil(s); } catch (IkkeFlerePlasserException e){ System.out.println(e); } //Alle typer pekere som kan referere til et //objekt av typen Masterstudent. Person pers = new Masterstudent("Kari", underviser); Student stud = new Masterstudent("Kari", underviser); Masterstudent mast = new Masterstudent("Kari", underviser); Ekkel ekk = new Masterstudent("Kari", underviser); //Underviser und = new Masterstudent("Kari", underviser); Går ikke. //Det er bare to type pekere/briller som ser metoden utovEkkelhet(). //pers.utovEkkelhet(); Går ikke //stud.utovEkkelhet(); Går ikke mast.utovEkkelhet(); ekk.utovEkkelhet(); //ekk.hentVeileder(); Går ikke //Lager en liste av typen Ekkel. Ekkel[] eklinger = new Ekkel[2]; eklinger[0] = new Masterstudent("Knut", underviser); eklinger[1] = new Underviser("Ole"); for (Ekkel ekling : eklinger){ ekling.utovEkkelhet(); ekling.serverPaastand("Jorden er rund"); } } }