26.07.2013 Views

Operativsystem: .............................................................

Operativsystem: .............................................................

Operativsystem: .............................................................

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Hele den indviklede procedure med at åbne en fil og åbne en stream til denne fil så at der kan læses<br />

fra filen bliver indkapslet I C# klassen StreamReader.<br />

Hvad StreamReader egentligt gør i detaljer – er ’irrelevant’ blot klassen gør det den skal!<br />

Indkapsling betyder også at klassen kan skrives om mht. den indre mekanik blot den stadig har det<br />

samme interface eller de samme metoder udadtil!<br />

Arv:<br />

Klasser skal kunne arve egenskaber fra hinanden lige som vi I sproget har mere almene begreber og<br />

mere specialiserede begreber. Fx er ’person’ et alment begreb og ’mand’ et mere specielt begreb.<br />

Men egenskaber i ’person’ findes også i ’mand’. ’mand’ har blot fået nogle nye egenskaber<br />

sammenlignet med basis ’person’.<br />

I OOP tales om en basis-klasse som kan have mange sub-klasser.<br />

I forhold til eksemplet kunne man altså erklære en ny klasse ’mand’ som arver fra ’person’ og<br />

overtager alle egenskaber fra ’person’ men tilføjer nogle flere specielle.<br />

Arv gør kodningen nemmere, mere overskuelig og muliggør genbrug.<br />

Alle klasser arver i C# fra klassen System.Object – direkte eller indirekte. Ovenstående erklæring<br />

kunne altså lige så godt skrives:<br />

public class person : Object{}<br />

idet kolon i C# betyder ‘arver fra’. De metoder som findes i Object kan altså bruges i ALLE klasser<br />

uanset om de arver direkte eller indirekte fra Object.<br />

Metoder i System.Object:<br />

Metode Eksempel Betydning<br />

Equals() If(objekt.Equals(objekt2)) Er de identiske?<br />

GetHashCode() int h=objekt1.GetHashCode() Returnerer et heltal som er<br />

objektets nummer eller<br />

hashkode – bruges i<br />

hashtabeller som index<br />

GetType() Obj.GetType() Returnerer obj’s type fx<br />

string<br />

ToString() Console.WriteLine(Obj.ToString()); Alle objekter kan udskrives<br />

også farver, windows osv<br />

MemberwiseClone() Obj.MemberwiseClone() Opretter en klon eller kopi af<br />

objektet<br />

GUID:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!