Operativsystem: .............................................................
Operativsystem: .............................................................
Operativsystem: .............................................................
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
IObjekter.vis(){...}<br />
Arv fra flere klasser er ikke tilladt i C# (det er tilladt i fx C++), men i C# kan en klasse altså i stedet<br />
’arve’ fra mange interfaces. Effekten er stort set den samme – men man undgår de problemer som<br />
’multiple inheritance’ skaber i fx C++!<br />
Hvis vi antager en basisklasse Bog og et interface IBog (interfaces starter – pr tradition - med ’I’),<br />
kan man altså skrive en ny klasse sådan:<br />
public class Roman:Bog, Ibog{}<br />
’Bog’ efter kolon er basis klassen og ’IBog’ er et interface.<br />
Hvis en klasse både ’arver’ fra en klasse og et interface, skal basisklassen stå først efter kolon!!<br />
Et mere konkret eksempel på anvendelse af interfaces er følgende kode eksempel, som er<br />
kommenteret løbende:<br />
//interface.cs<br />
using System;<br />
//Alle bøger ‘arver’ fra IAbstraktBog (dvs det som er fælles for alle bøger):<br />
public interface IAbstraktBog{<br />
}<br />
//har 4 properties og en metode (her alle abstrakte uden implementering):<br />
string Forfatter{get;set;}<br />
string Titel{get;set;}<br />
int Sider{get;set;}<br />
//eks på property der kun er readonly: Bogens type:<br />
string Type {get;}<br />
void vis_bog();<br />
//Endnu et interface – ’arver fra’ abstrakt bog: Index findes kun i en fagbog:<br />
//Et interface kan implementere et andet interface!:<br />
public interface IAbstraktFagBog : IAbstraktBog{<br />
}<br />
//Denne property sættes altså med en streng tabel eller ord liste:<br />
string[] Index{get;set;}<br />
//Klassen Bog implementerer dvs ‘udfylder’ interfacet IAbstraktBog - dvs ‘er’ en (abstrakt) bog:<br />
public class Bog:IAbstraktBog{<br />
string forfatter,titel,type="Bog";