Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Hvad Er Et Interface? | Interface
Java OOP
course content

Kursusindhold

Java OOP

Java OOP

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

book
Hvad Er Et Interface?

Hvad nu hvis vi har brug for at arve fra mere end én klasse? Java tillader dette ved hjælp af interfaces. På trods af navnet ligner et interface meget en abstrakt klasse. Lad os se på deklarationen af et interface:

Kort sagt bruges et interface til at definere metoder, som en klasse skal implementere. Interfaces har en særskilt syntaks for oprettelse. Hvor vi brugte "public class className { }" ved oprettelse af en klasse, ser syntaksen for oprettelse af et interface anderledes ud:

InterfaceExample.java

InterfaceExample.java

copy
123456
package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
  1. Bemærk metodeerklæringen;

  2. Vi bruger ikke adgangsmodifikatorer;

  3. Vi angiver ikke metodekroppe;

  4. Det er ikke nødvendigt at markere metoder som abstract, da vi arbejder inden for et interface;

  5. Vi opretter ikke felter i interfaces.

Lad os overveje brugen af et Interface ved hjælp af eksemplet med en medieafspiller. Vi har et Interface kaldet MediaPlayer, som har metoderne play, pause og stop. Derudover er der to klasser, der implementerer dette medieafspiller-interface, nemlig AudioPlayer og VideoPlayer.

MediaPlayer.java

MediaPlayer.java

AudioPlayer.java

AudioPlayer.java

VideoPlayer.java

VideoPlayer.java

copy
12345
public interface MediaPlayer { void play(); void pause(); void stop(); }

Som du kan se, har vi oprettet et interface og to klasser, der implementerer dette interface. Syntaksen er den samme som ved overskrivning af abstrakte metoder. Vi har overskrevet hver metode for hver klasse for at udføre dens egen specifikke funktion.

En af egenskaberne ved interfaces er, at vi kan implementere mere end ét interface. Lad os se på et eksempel:

Vehicle.java

Vehicle.java

VehicleInfo.java

VehicleInfo.java

Car.java

Car.java

copy
123456
package vehicle; interface Vehicle { void startEngine(); void stopEngine(); }

Vi har oprettet grænsefladerne Vehicle og VehicleInfo. Derudover har vi oprettet en klasse Car, der implementerer begge disse grænseflader. På denne måde kan vi vælge hvilken funktionalitet der skal implementeres i klassen, hvilket understøtter objektorienteret programmeringsprincip om abstraktion. Arbejdet med grænseflader er meget praktisk, og de anvendes i stor udstrækning. I det næste kapitel vil vi også undersøge de vigtigste forskelle mellem en grænseflade og en abstrakt klasse og lære, hvilken der er bedst at bruge i praksis!

1. Hvad er en grænseflade i Java?

2. Kan en klasse implementere flere grænseflader i Java?

3. Hvad er formålet med et interface i Java?

4. Hvilket nøgleord bruges til at implementere et interface i en klasse?

5. Hvad sker der, hvis en klasse hævder at implementere et interface, men ikke leverer implementeringer for alle dets metoder?

question mark

Hvad er en grænseflade i Java?

Select the correct answer

question mark

Kan en klasse implementere flere grænseflader i Java?

Select the correct answer

question mark

Hvad er formålet med et interface i Java?

Select the correct answer

question mark

Hvilket nøgleord bruges til at implementere et interface i en klasse?

Select the correct answer

question mark

Hvad sker der, hvis en klasse hævder at implementere et interface, men ikke leverer implementeringer for alle dets metoder?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1

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
Hvad Er Et Interface?

Hvad nu hvis vi har brug for at arve fra mere end én klasse? Java tillader dette ved hjælp af interfaces. På trods af navnet ligner et interface meget en abstrakt klasse. Lad os se på deklarationen af et interface:

Kort sagt bruges et interface til at definere metoder, som en klasse skal implementere. Interfaces har en særskilt syntaks for oprettelse. Hvor vi brugte "public class className { }" ved oprettelse af en klasse, ser syntaksen for oprettelse af et interface anderledes ud:

InterfaceExample.java

InterfaceExample.java

copy
123456
package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
  1. Bemærk metodeerklæringen;

  2. Vi bruger ikke adgangsmodifikatorer;

  3. Vi angiver ikke metodekroppe;

  4. Det er ikke nødvendigt at markere metoder som abstract, da vi arbejder inden for et interface;

  5. Vi opretter ikke felter i interfaces.

Lad os overveje brugen af et Interface ved hjælp af eksemplet med en medieafspiller. Vi har et Interface kaldet MediaPlayer, som har metoderne play, pause og stop. Derudover er der to klasser, der implementerer dette medieafspiller-interface, nemlig AudioPlayer og VideoPlayer.

MediaPlayer.java

MediaPlayer.java

AudioPlayer.java

AudioPlayer.java

VideoPlayer.java

VideoPlayer.java

copy
12345
public interface MediaPlayer { void play(); void pause(); void stop(); }

Som du kan se, har vi oprettet et interface og to klasser, der implementerer dette interface. Syntaksen er den samme som ved overskrivning af abstrakte metoder. Vi har overskrevet hver metode for hver klasse for at udføre dens egen specifikke funktion.

En af egenskaberne ved interfaces er, at vi kan implementere mere end ét interface. Lad os se på et eksempel:

Vehicle.java

Vehicle.java

VehicleInfo.java

VehicleInfo.java

Car.java

Car.java

copy
123456
package vehicle; interface Vehicle { void startEngine(); void stopEngine(); }

Vi har oprettet grænsefladerne Vehicle og VehicleInfo. Derudover har vi oprettet en klasse Car, der implementerer begge disse grænseflader. På denne måde kan vi vælge hvilken funktionalitet der skal implementeres i klassen, hvilket understøtter objektorienteret programmeringsprincip om abstraktion. Arbejdet med grænseflader er meget praktisk, og de anvendes i stor udstrækning. I det næste kapitel vil vi også undersøge de vigtigste forskelle mellem en grænseflade og en abstrakt klasse og lære, hvilken der er bedst at bruge i praksis!

1. Hvad er en grænseflade i Java?

2. Kan en klasse implementere flere grænseflader i Java?

3. Hvad er formålet med et interface i Java?

4. Hvilket nøgleord bruges til at implementere et interface i en klasse?

5. Hvad sker der, hvis en klasse hævder at implementere et interface, men ikke leverer implementeringer for alle dets metoder?

question mark

Hvad er en grænseflade i Java?

Select the correct answer

question mark

Kan en klasse implementere flere grænseflader i Java?

Select the correct answer

question mark

Hvad er formålet med et interface i Java?

Select the correct answer

question mark

Hvilket nøgleord bruges til at implementere et interface i en klasse?

Select the correct answer

question mark

Hvad sker der, hvis en klasse hævder at implementere et interface, men ikke leverer implementeringer for alle dets metoder?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1
some-alt