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

bookOOP-prinsipper: Polymorfisme

Polymorfisme

Polymorfisme er et annet prinsipp i OOP. Du har allerede støtt på polymorfisme når du overlastet og overstyrte metoder. Generelt er dette essensen av polymorfisme. Men definisjonen av polymorfisme kan virke litt skremmende:

Men i virkeligheten er det mye enklere enn det ser ut. Polymorfisme kan, enkelt sagt, deles inn i 2 deler:

  • Metodeoverlasting: det du lærte i dette kapittelet, men la oss ta en gjennomgang.

La oss se på et eksempel: Vi må skrive en metode som tar en int-parameter og returnerer en String, samt en metode som gjør det samme, men med en long-parameter. Se på kodeeksempelet:

Main.java

Main.java

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

Som du kan se ovenfor, har vi opprettet to metoder med samme navn, men som kan utføre forskjellige oppgaver. Dette kalles metodeoverlasting.

  • Metodeoverstyring: Du har tidligere vært borti dette emnet da du overstyrte toString-metoden i dette kapittelet. Men la oss gå gjennom det én gang til.

La oss se på et kodeeksempel som viser hvordan vi kan overstyre en metode. Vi har en klasse kalt Airplane som arver fra Transport-klassen. I Transport-klassen finnes det en metode som heter move, som returnerer "This transport has started moving".

Vi ønsker at flyet skal "start flying" i stedet for "moving". For å oppnå dette, vil vi overstyre move-metoden i barneklassen:

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 overstyrt metoden fra superklassen i subklassen som nødvendig.

På denne måten utfyller polymorfisme arv svært godt. Gjennom polymorfisme kan vi enkelt og optimalt utvide koden vår, noe som gjør den fleksibel.

1. Hvorfor trenger vi polymorfisme i Java?

2. Hvordan utfyller polymorfisme arv?

3. Hvilket nøkkelord brukes for å overbelaste en metode?

question mark

Hvorfor trenger vi polymorfisme i Java?

Select the correct answer

question mark

Hvordan utfyller polymorfisme arv?

Select the correct answer

question mark

Hvilket nøkkelord brukes for å overbelaste en metode?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 4.76

bookOOP-prinsipper: Polymorfisme

Sveip for å vise menyen

Polymorfisme

Polymorfisme er et annet prinsipp i OOP. Du har allerede støtt på polymorfisme når du overlastet og overstyrte metoder. Generelt er dette essensen av polymorfisme. Men definisjonen av polymorfisme kan virke litt skremmende:

Men i virkeligheten er det mye enklere enn det ser ut. Polymorfisme kan, enkelt sagt, deles inn i 2 deler:

  • Metodeoverlasting: det du lærte i dette kapittelet, men la oss ta en gjennomgang.

La oss se på et eksempel: Vi må skrive en metode som tar en int-parameter og returnerer en String, samt en metode som gjør det samme, men med en long-parameter. Se på kodeeksempelet:

Main.java

Main.java

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

Som du kan se ovenfor, har vi opprettet to metoder med samme navn, men som kan utføre forskjellige oppgaver. Dette kalles metodeoverlasting.

  • Metodeoverstyring: Du har tidligere vært borti dette emnet da du overstyrte toString-metoden i dette kapittelet. Men la oss gå gjennom det én gang til.

La oss se på et kodeeksempel som viser hvordan vi kan overstyre en metode. Vi har en klasse kalt Airplane som arver fra Transport-klassen. I Transport-klassen finnes det en metode som heter move, som returnerer "This transport has started moving".

Vi ønsker at flyet skal "start flying" i stedet for "moving". For å oppnå dette, vil vi overstyre move-metoden i barneklassen:

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 overstyrt metoden fra superklassen i subklassen som nødvendig.

På denne måten utfyller polymorfisme arv svært godt. Gjennom polymorfisme kan vi enkelt og optimalt utvide koden vår, noe som gjør den fleksibel.

1. Hvorfor trenger vi polymorfisme i Java?

2. Hvordan utfyller polymorfisme arv?

3. Hvilket nøkkelord brukes for å overbelaste en metode?

question mark

Hvorfor trenger vi polymorfisme i Java?

Select the correct answer

question mark

Hvordan utfyller polymorfisme arv?

Select the correct answer

question mark

Hvilket nøkkelord brukes for å overbelaste en metode?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 4
some-alt