February 9, 2021
in1010-uke5-210209.pdf
Forrige forelesning (arv og polymofri) Neste forelesning (beholdere og generiske klasser)
Lecture outline:
- Interface (grensesnitt), også et Java-ord
- To motivasjoner for interface:
- tydeliggjøre klassens
public
-metoder
- multippel arv av opførsel
- I Java kan en klasse bare arve egenskapene til én annen klasse
(en superklasse). Dette gjør språket sikrere å bruke
- Hva skal vi gjøre hvis vi ønsker at et objekt skal inneholde
mange forskjellige egenskaper fra forskjellige “superklasser”?
- Da må vi bruke
interface
Hva er interface?
- En samling egenskaper (eller en rolle) som ikke naturlig hører hjemme i et arvehierarki
- En samling egenskaper som mange forskjellige “ting” av forskjellige typer kan anta
- Et interface ligner en abstrakt klasse
- Det inneholder ingen variable eller annen datastruktur
- En klasse som arver egenskapene til et interface må selv putte inn kode i alle de abstrakte metodene
- En klasse kan arve egenskapene til mange grensesnitt (men bare en klasse)
Hvordan å skrive interface?
interface intName {
//variabler og metoder som skal brukes
}
- Alle metodene i et interface er abstrakte og polymorfe