26.07.2013 Views

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

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

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

}<br />

//netode som nedarves erklæres virtual så den kan overrides:<br />

public virtual void vis(){<br />

Console.WriteLine("Objektet er {0} og navnet er {1}",id,navn);<br />

}<br />

public class Rektangel: Figur{<br />

//NB navn og id er nedarvede automatisk<br />

private int side1,side2;<br />

}<br />

//constructor kalder base dvs kalder Figurs constructor:<br />

public Rektangel(string n,int s1,int s2) : base(n){<br />

id="Rektangel";<br />

side1=s1;side2=s2;<br />

}<br />

//NB vis() er nedarvet automatisk<br />

//NB der findes nu 2 metoder vis(): superklassens/basis' metode er = base.vis():<br />

//override angiver at vi omdefinerer en nedarvet metode:<br />

public override void vis(){<br />

base.vis();<br />

Console.WriteLine("Side 1 er {0} og Side 2 er {1} og arealet er {2}",side1,side2,side1*side2);<br />

}<br />

public class app{<br />

public static void Main(string[] args){<br />

}<br />

}<br />

//instantier objekter af typerne<br />

Figur f1=new Figur("Lise");<br />

f1.vis();<br />

Rektangel r1=new Rektangel("Thomas",200,300);<br />

r1.vis();<br />

Rektangel r2=new Rektangel("Mikkel",150,700);<br />

r2.vis();<br />

Console.Read();//teknisk af hensyn til Windows<br />

De metoder i basis klassen som skal/kan overrides angives som: public virtual… og ’barne’ klassen<br />

erklærer metoden som public override …<br />

På denne måde beholdes de gode ting i basis klassen samtidigt med at den nedarvede klasse bygger<br />

videre.<br />

Egenskaber i en basis klasse der skal nedarves skal være public eller protected – hvis de er private<br />

kan de ikke ’overtages’ af en anden klasse - og hvis du prøver giver det en kompiler fejl!<br />

Override metoder i System.Object:

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

Saved successfully!

Ooh no, something went wrong!