Skip to main content
Dat 1. Sem Efterår 2025
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Nedarvning i Java

Hvad er nedarvning?

En klasse kan arve fra en anden klasse (superklassen) og genbruge dens felter og metoder. Du udvider funktionalitet uden at kopiere kode.

public class Dyr {
    public void lyd() {
        System.out.println("Et dyr siger noget");
    }
}

public class Hund extends Dyr {  // Hund arver fra Dyr
    @Override
    public void lyd() {
        System.out.println("Vov!");
    }
}

super i constructor

public class Person {
    private final String navn;
    public Person(String navn) {
        this.navn = navn;
    }
}

public class Studerende extends Person {
    private final String studieId;
    public Studerende(String navn, String studieId) {
        super(navn);           // kalder superklassens constructor
        this.studieId = studieId;
    }
}

Polymorfi (samme reference, flere former)

Dyr d1 = new Hund();   // reference-typen er Dyr, men objektet er Hund
d1.lyd();              // kalder Hund.lyd() => "Vov!"

Hvornår bruge nedarvning?

  • Når klasser deler kerne-egenskaber og adfærd
  • Når du vil genbruge kode og tilføje specialisering
  • Undgå nedarvning hvis klasserne ikke er en “er-en”-relation (brug komposition i stedet)