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.
Et praktisk eksempel på OOP: Person og Adresse klassen:<br />
Person klassen har en indre egenskab – personens adresse. Vi starter derfor med at oprette en ny<br />
klasse som skal bruges til at holde styr på adresser eller ’adresse objekter’:<br />
//fil:adresse.cs<br />
//kompileres: csc /target:library adresse.cs (giver adresse.dll):<br />
//klassen i sin egen fil af hensyn til genbrug:<br />
using System;<br />
public class Adresse{<br />
}<br />
//contructor:<br />
public Adresse(string g, string n, string p, string b){<br />
gade=g;nr=n;postnr=p;by=b;<br />
}<br />
//metode, medl funktion, interface:<br />
public string vis_adresse(){<br />
return "\n"+gade+" "+nr+"\n"+postnr+" "+by;<br />
}<br />
//felt, datamedlem, instans var: NB private pga OOP indkapsling hiding:<br />
private string gade, nr, postnr, by;<br />
Kommentar til Adresse klassen:<br />
Adresse klassen gemmes i sin egen fil adresse.cs – for at den kan genbruges af andre klasse filer<br />
eller applikationer.<br />
Den er IKKE nogen ’applikation’ – den har ikke nogen Main() metode og kan altså ikke køres som<br />
et program.<br />
Den skal kompileres således:<br />
csc /target:library adresse.cs<br />
eller:<br />
csc /t:library adresse.cs<br />
Resultatet bliver adresse.dll som er en DLL fil akkurat som den tidligere nævnte<br />
System.Windows.Forms.dll der indeholder definitioner på Windows komponenter.<br />
Klassen Adresse indeholder private variable (gade, gadenr osv) – et eksempel på ’data hiding’ eller<br />
indkapsling. Adresse er en black box som man kun har adgang til via de public metoder som<br />
klassen tilbyder (dens interface).<br />
Der er en vis svag tradition for at benævne klasser i C# med stort begyndelsesbogstav (som fx<br />
Adresse) – men et klassenavn med kun små bogstaver er helt OK (modsat Java). Klassen Adresse<br />
behøver heller ikke at blive gemt i en fil der hedder Adresse.cs (igen modsat Java!) – CS filen kan<br />
hedde hvad som helst og indeholde mange klasse erklæringer.