Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära OOP-principer: Polymorfism | Oop
Java OOP
course content

Kursinnehåll

Java OOP

Java OOP

1. Hur Man Arbetar Med IDE?
2. Oop
3. Interface

book
OOP-principer: Polymorfism

Polymorfism

Polymorfism är en annan princip inom OOP. Du har redan stött på polymorfism när du överladdade och överskuggade metoder. I grunden är detta kärnan i polymorfism. Men definitionen av polymorfism kan verka lite skrämmande:

Men i verkligheten är det mycket enklare än det verkar. Polymorfism kan, enkelt uttryckt, delas upp i 2 delar:

  • Metodöverladdning: det du lärde dig i detta kapitel, men låt oss repetera.

Låt oss titta på ett exempel: vi behöver skriva en metod som tar en int-parameter och returnerar en String, samt en metod som gör samma sak men med en long-parameter. Låt oss titta på kodexemplet:

Main.java

Main.java

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

Som du kan se ovan har vi skapat två metoder med samma namn men som kan utföra olika saker. Detta kallas metodöverladdning.

  • Metodöverskuggning: Du har stött på detta ämne tidigare när du överskuggade metoden toString i detta kapitel. Men låt oss gå igenom det en gång till.

Låt oss titta på en kodsnutt som visar hur vi kan överskugga en metod. Vi har en klass som heter Airplane som ärver från klassen Transport. Och i Transport-klassen finns en metod som heter move som returnerar "This transport has started moving".

Vi behöver att flygplanet ska "start flying" istället för att "moving". För att uppnå detta kommer vi att överskugga metoden move i subklassen:

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 överskuggat metoden från basklassen i subklassen enligt kraven.

På detta sätt kompletterar polymorfism arv mycket väl. Genom polymorfism kan vi bekvämt och optimalt utöka vår kod, vilket gör den flexibel.

1. Varför behöver vi polymorfism i Java?

2. Hur kompletterar polymorfism arv?

3. Vilket nyckelord används för att överlasta en metod?

question mark

Varför behöver vi polymorfism i Java?

Select the correct answer

question mark

Hur kompletterar polymorfism arv?

Select the correct answer

question mark

Vilket nyckelord används för att överlasta en metod?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 4

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

course content

Kursinnehåll

Java OOP

Java OOP

1. Hur Man Arbetar Med IDE?
2. Oop
3. Interface

book
OOP-principer: Polymorfism

Polymorfism

Polymorfism är en annan princip inom OOP. Du har redan stött på polymorfism när du överladdade och överskuggade metoder. I grunden är detta kärnan i polymorfism. Men definitionen av polymorfism kan verka lite skrämmande:

Men i verkligheten är det mycket enklare än det verkar. Polymorfism kan, enkelt uttryckt, delas upp i 2 delar:

  • Metodöverladdning: det du lärde dig i detta kapitel, men låt oss repetera.

Låt oss titta på ett exempel: vi behöver skriva en metod som tar en int-parameter och returnerar en String, samt en metod som gör samma sak men med en long-parameter. Låt oss titta på kodexemplet:

Main.java

Main.java

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

Som du kan se ovan har vi skapat två metoder med samma namn men som kan utföra olika saker. Detta kallas metodöverladdning.

  • Metodöverskuggning: Du har stött på detta ämne tidigare när du överskuggade metoden toString i detta kapitel. Men låt oss gå igenom det en gång till.

Låt oss titta på en kodsnutt som visar hur vi kan överskugga en metod. Vi har en klass som heter Airplane som ärver från klassen Transport. Och i Transport-klassen finns en metod som heter move som returnerar "This transport has started moving".

Vi behöver att flygplanet ska "start flying" istället för att "moving". För att uppnå detta kommer vi att överskugga metoden move i subklassen:

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 överskuggat metoden från basklassen i subklassen enligt kraven.

På detta sätt kompletterar polymorfism arv mycket väl. Genom polymorfism kan vi bekvämt och optimalt utöka vår kod, vilket gör den flexibel.

1. Varför behöver vi polymorfism i Java?

2. Hur kompletterar polymorfism arv?

3. Vilket nyckelord används för att överlasta en metod?

question mark

Varför behöver vi polymorfism i Java?

Select the correct answer

question mark

Hur kompletterar polymorfism arv?

Select the correct answer

question mark

Vilket nyckelord används för att överlasta en metod?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 4
some-alt