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
course content

Kursinnhold

Java OOP

Java OOP

1. Hvordan Arbeide med IDE?
2. Oop
3. Interface

book
OOP-prinsipper: Polymorfisme

Polymorfisme

Polymorfisme er et annet prinsipp innen 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 forklart, deles inn i 2 deler:

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

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. La oss 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 ulike oppgaver. Dette kalles metodeoverlasting.

  • Metodeoverstyring: Du har støtt på dette emnet tidligere da du overstyrte toString-metoden i denne delen. 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 "starte å fly" i stedet for "å bevege seg". 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

course content

Kursinnhold

Java OOP

Java OOP

1. Hvordan Arbeide med IDE?
2. Oop
3. Interface

book
OOP-prinsipper: Polymorfisme

Polymorfisme

Polymorfisme er et annet prinsipp innen 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 forklart, deles inn i 2 deler:

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

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. La oss 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 ulike oppgaver. Dette kalles metodeoverlasting.

  • Metodeoverstyring: Du har støtt på dette emnet tidligere da du overstyrte toString-metoden i denne delen. 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 "starte å fly" i stedet for "å bevege seg". 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