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

Kursinnhold

Java OOP

Java OOP

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

book
Hva er et grensesnitt?

Hva om vi trenger å arve fra mer enn én klasse? Java lar oss gjøre dette med grensesnitt. Til tross for navnet, ligner et grensesnitt mye på en abstrakt klasse. La oss se på deklarasjonen av et grensesnitt:

Enkelt sagt brukes et grensesnitt til å definere metoder som en klasse skal implementere. Grensesnitt har en egen syntaks for opprettelse. Mens vi brukte "public class className { }" når vi opprettet en klasse, ser syntaksen for å opprette et grensesnitt annerledes ut:

InterfaceExample.java

InterfaceExample.java

copy
123456
package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
  1. Vær oppmerksom på metodeerklæringen;

  2. Vi bruker ikke tilgangsmodifikatorer;

  3. Vi angir ikke metodekropper;

  4. Det er ikke nødvendig å merke metoder som abstract siden vi arbeider innenfor et interface;

  5. Vi oppretter ikke felter i interfaces.

La oss se på bruken av et Interface ved hjelp av et eksempel med en mediespiller. Vi har et Interface kalt MediaPlayer som har metodene play, pause og stop. I tillegg finnes det to klasser som implementerer dette mediespiller-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 opprettet et interface og to klasser som implementerer dette interfacet. Syntaksen er den samme som når man overstyrer abstrakte metoder. Vi har overstyrt hver metode for hver klasse slik at de utfører sin egen spesifikke funksjon.

En av egenskapene til interfaces er at vi kan implementere mer enn ett interface. La oss 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 opprettet grensesnittene Vehicle og VehicleInfo. I tillegg har vi laget en klasse Car som implementerer begge disse grensesnittene. På denne måten kan vi velge hvilken oppførsel som skal implementeres i klassen, noe som passer godt med objektorientert programmeringsprinsippene om abstraksjon. Å arbeide med grensesnitt er svært praktisk, og de brukes mye. I neste kapittel skal vi også se på hovedforskjellene mellom et grensesnitt og en abstrakt klasse, og lære hvilken som er best å bruke i praksis!

1. Hva er et grensesnitt i Java?

2. Kan en klasse implementere flere grensesnitt i Java?

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

4. Hvilket nøkkelord brukes for å implementere et interface i en klasse?

5. Hva skjer hvis en klasse hevder å implementere et interface, men ikke gir implementasjoner for alle metodene?

question mark

Hva er et grensesnitt i Java?

Select the correct answer

question mark

Kan en klasse implementere flere grensesnitt i Java?

Select the correct answer

question mark

Hva er formålet med et interface i Java?

Select the correct answer

question mark

Hvilket nøkkelord brukes for å implementere et interface i en klasse?

Select the correct answer

question mark

Hva skjer hvis en klasse hevder å implementere et interface, men ikke gir implementasjoner for alle metodene?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1

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
Hva er et grensesnitt?

Hva om vi trenger å arve fra mer enn én klasse? Java lar oss gjøre dette med grensesnitt. Til tross for navnet, ligner et grensesnitt mye på en abstrakt klasse. La oss se på deklarasjonen av et grensesnitt:

Enkelt sagt brukes et grensesnitt til å definere metoder som en klasse skal implementere. Grensesnitt har en egen syntaks for opprettelse. Mens vi brukte "public class className { }" når vi opprettet en klasse, ser syntaksen for å opprette et grensesnitt annerledes ut:

InterfaceExample.java

InterfaceExample.java

copy
123456
package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
  1. Vær oppmerksom på metodeerklæringen;

  2. Vi bruker ikke tilgangsmodifikatorer;

  3. Vi angir ikke metodekropper;

  4. Det er ikke nødvendig å merke metoder som abstract siden vi arbeider innenfor et interface;

  5. Vi oppretter ikke felter i interfaces.

La oss se på bruken av et Interface ved hjelp av et eksempel med en mediespiller. Vi har et Interface kalt MediaPlayer som har metodene play, pause og stop. I tillegg finnes det to klasser som implementerer dette mediespiller-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 opprettet et interface og to klasser som implementerer dette interfacet. Syntaksen er den samme som når man overstyrer abstrakte metoder. Vi har overstyrt hver metode for hver klasse slik at de utfører sin egen spesifikke funksjon.

En av egenskapene til interfaces er at vi kan implementere mer enn ett interface. La oss 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 opprettet grensesnittene Vehicle og VehicleInfo. I tillegg har vi laget en klasse Car som implementerer begge disse grensesnittene. På denne måten kan vi velge hvilken oppførsel som skal implementeres i klassen, noe som passer godt med objektorientert programmeringsprinsippene om abstraksjon. Å arbeide med grensesnitt er svært praktisk, og de brukes mye. I neste kapittel skal vi også se på hovedforskjellene mellom et grensesnitt og en abstrakt klasse, og lære hvilken som er best å bruke i praksis!

1. Hva er et grensesnitt i Java?

2. Kan en klasse implementere flere grensesnitt i Java?

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

4. Hvilket nøkkelord brukes for å implementere et interface i en klasse?

5. Hva skjer hvis en klasse hevder å implementere et interface, men ikke gir implementasjoner for alle metodene?

question mark

Hva er et grensesnitt i Java?

Select the correct answer

question mark

Kan en klasse implementere flere grensesnitt i Java?

Select the correct answer

question mark

Hva er formålet med et interface i Java?

Select the correct answer

question mark

Hvilket nøkkelord brukes for å implementere et interface i en klasse?

Select the correct answer

question mark

Hva skjer hvis en klasse hevder å implementere et interface, men ikke gir implementasjoner for alle metodene?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1
some-alt