Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære OOP-Principper: Polymorfi | OOP
Java OOP
course content

Kursusindhold

Java OOP

Java OOP

1. Hvordan Man Arbejder Med IDE?
2. OOP
3. Interface

book
OOP-Principper: Polymorfi

Polymorfi

Polymorfi er et andet princip i OOP. Du har allerede stødt på polymorfi, når du overloadede og overrided metoder. Generelt er dette essensen af polymorfi. Men definitionen af polymorfi kan virke lidt skræmmende:

Men i virkeligheden er det meget enklere, end det ser ud til. Polymorfi kan, i enkle termer, opdeles i 2 dele:

  • Metodeoverbelastning: det, du lærte i dette kapitel, men lad os gennemgå det igen.

Lad os se på et eksempel: vi skal skrive en metode, der tager en int-parameter og returnerer en String, samt en metode, der gør det samme, men med en long-parameter. Lad os se på kodeeksemplet:

Main.java

Main.java

copy
1234567
public String doStuff(int parameter) { //... } public String doStuff(long parameter) { //... }

Som du kan se ovenfor, har vi oprettet 2 metoder med samme navn, men som kan udføre forskellige handlinger. Dette kaldes metodeoverbelastning.

  • Metodeoverskrivning: Du er tidligere stødt på dette emne, da du overskrev toString-metoden i dette kapitel. Men lad os gennemgå det igen.

Lad os se på et kodeeksempel, der viser, hvordan vi kan overskrive en metode. Vi har en klasse kaldet Airplane, som arver fra Transport-klassen. Og i Transport-klassen er der en metode kaldet move, som returnerer "This transport has started moving".

Vi har brug for, at flyet "begynder at flyve" i stedet for "at bevæge sig". For at opnå dette vil vi overskrive move-metoden i underklassen:

Transport.java

Transport.java

Airplane.java

Airplane.java

copy
1234567
public class Transport { // some fields public String move() { return "This transport has started moving"; } }

Som du kan se, har vi overskrevet metoden fra forældreklassen i barneklassen som krævet.

På denne måde supplerer polymorfi arv meget godt. Gennem polymorfi kan vi bekvemt og optimalt udvide vores kode, hvilket gør den fleksibel.

1. Hvorfor har vi brug for polymorfi i Java?

2. Hvordan supplerer polymorfi arv?

3. Hvilket nøgleord bruges til at overloade en metode?

question mark

Hvorfor har vi brug for polymorfi i Java?

Select the correct answer

question mark

Hvordan supplerer polymorfi arv?

Select the correct answer

question mark

Hvilket nøgleord bruges til at overloade en metode?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

course content

Kursusindhold

Java OOP

Java OOP

1. Hvordan Man Arbejder Med IDE?
2. OOP
3. Interface

book
OOP-Principper: Polymorfi

Polymorfi

Polymorfi er et andet princip i OOP. Du har allerede stødt på polymorfi, når du overloadede og overrided metoder. Generelt er dette essensen af polymorfi. Men definitionen af polymorfi kan virke lidt skræmmende:

Men i virkeligheden er det meget enklere, end det ser ud til. Polymorfi kan, i enkle termer, opdeles i 2 dele:

  • Metodeoverbelastning: det, du lærte i dette kapitel, men lad os gennemgå det igen.

Lad os se på et eksempel: vi skal skrive en metode, der tager en int-parameter og returnerer en String, samt en metode, der gør det samme, men med en long-parameter. Lad os se på kodeeksemplet:

Main.java

Main.java

copy
1234567
public String doStuff(int parameter) { //... } public String doStuff(long parameter) { //... }

Som du kan se ovenfor, har vi oprettet 2 metoder med samme navn, men som kan udføre forskellige handlinger. Dette kaldes metodeoverbelastning.

  • Metodeoverskrivning: Du er tidligere stødt på dette emne, da du overskrev toString-metoden i dette kapitel. Men lad os gennemgå det igen.

Lad os se på et kodeeksempel, der viser, hvordan vi kan overskrive en metode. Vi har en klasse kaldet Airplane, som arver fra Transport-klassen. Og i Transport-klassen er der en metode kaldet move, som returnerer "This transport has started moving".

Vi har brug for, at flyet "begynder at flyve" i stedet for "at bevæge sig". For at opnå dette vil vi overskrive move-metoden i underklassen:

Transport.java

Transport.java

Airplane.java

Airplane.java

copy
1234567
public class Transport { // some fields public String move() { return "This transport has started moving"; } }

Som du kan se, har vi overskrevet metoden fra forældreklassen i barneklassen som krævet.

På denne måde supplerer polymorfi arv meget godt. Gennem polymorfi kan vi bekvemt og optimalt udvide vores kode, hvilket gør den fleksibel.

1. Hvorfor har vi brug for polymorfi i Java?

2. Hvordan supplerer polymorfi arv?

3. Hvilket nøgleord bruges til at overloade en metode?

question mark

Hvorfor har vi brug for polymorfi i Java?

Select the correct answer

question mark

Hvordan supplerer polymorfi arv?

Select the correct answer

question mark

Hvilket nøgleord bruges til at overloade en metode?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4
some-alt