User Tools

Site Tools


linuxbog:java:java-interface
Linux - Friheden til at programmere i Java: Version 0.7.20040516 - 2020-12-31
forrige næste

Kapitel 12. Interfaces - grænseflader til objekter

Forudsættes afKapitel 13, Hændelser,Kapitel 17, Flertrådet programmering,Kapitel 18, Serialisering,Kapitel 19, RMI ogKapitel 22, Indre klasser.

ForudsætterKapitel 6, Nedarvning (ogKapitel 10, Appletter og grafik for at forstå et eksempel).

I generel sprogbrug er et interface (da.: grænseflade, snitflade) en form for grænseflade, som man gør noget gennem. F.eks. er en grafisk brugergrænseflade (eng.: Graphical User Interface - GUI) de vinduer med knapper, indtastningsfelter og kontroller, som brugeren har til interaktion med programmet.

Vi minder om, at en klasse er definitionen af en type objekter. Her kunne man opdele i

  1. Grænsefladen - hvordan objekterne kan bruges udefra.Dette udgøres af navnene på metoderne, der kan ses udefra.
  2. Implementationen - hvordan objekterne virker indeni.Dette udgøres af variabler og programkoden i metodekroppene.

Et »interface« svarer til punkt 1): En definition af, hvordan objekter bruges udefra. Man kan sige, at et interface er en “halv” klasse.

Et interface er en samling navne på metoder (uden krop)

Et interface kan implementeres af en klasse - det vil sige, at klassen definerer alle interfacets metoder sammen med programkoden, der beskriver, hvad der skal ske, når metoderne kaldes.

12.1. Definere et interface

Lad os definere et interface kaldet Tegnbar, der beskriver nogle metoder på objekter, der kan tegnes.

import java.awt.*;

public //interface Tegnbar// {
  public void sætPosition(int x, int y);

  public void tegn(Graphics g);
}

I stedet for “class” erklæres et interface med “interface”.

Metoder i et interface har ingen krop, alle metodeerklæringerne følges af et semikolon. Der kan ikke oprettes objekter ud fra et interface. Det kan opfattes som en “tom skal”, der skal “fyldes ud” af en rigtig klasse, der implementerer metoderne (dvs. definerer kroppene).

Figur 12-1. Java

{linuxbog:java:Nordfalk1315441.png}

Man ser, at tegnbare objekter:

  • har en metode til at sætte positionen på skærmen
  • har en metode til at tegne objektet.

I UML-notation (tegningen til højre) er Tegnbar-interfacet tegnet med kursiv. Alle metoderne er abstrakte (= ikke implementerede) og er derfor også tegnet kursivt.


forrige hjem næste
Opgave: Matadorspillet grafisk Implementere et interface
linuxbog/java/java-interface.txt · Last modified: by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

Brug af AI : Al tekst kán være uddrag af AI genereret tekst og kan være fejlbehæftet.
AI kan lave fejl og det kan mennesker også, men al tekst er gennemgået af et menneske for fejl, og personlig bias kan være tilføjet.