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.
4. skriv en set del i propertyen CPR som kontrollerer/reagerer på det som er tastet ind/ det som<br />
propertyen er sat til! Fx ved vi hvor mange tegn der er i CPR nummer!<br />
Eksempler på Polymorfisme og Arv:<br />
Formålet med at en klasse ‘arver’ fra en anden er at genbruge den funktionalitet som allerede ligger<br />
i en basis-klasse og at skabe hierarkier af klasser som er logiske og overskuelige. I C# kan er klasse<br />
kun arve fra en klasse, en klasse kan kun have en enkelt base class. (Men kan implementere mange<br />
interfaces som vi skal se). Men en basis klasse kan have mange efterkommere – nedarvede klasser<br />
eller ’børn’.<br />
Arv erklæres meget nemt således i C#:<br />
public class Rektangel: Figur{}<br />
Kolon angiver altid arv – Rektangel arver fra Figur eller sagt i almindeligt sprog: ’Et rektangel er<br />
en figur!’.<br />
Her er et meget enkelt eksempel på hvordan arv kan kodes i C#:<br />
//fil: arv.cs<br />
//illustrerer på enkel måde arv i C#<br />
//af nemheds grunde er alle klasser her anbragt i samme fil arv.cs<br />
//postcondition: outputter data om objekter<br />
using System;<br />
public class Figur{<br />
}<br />
//protected og ej private da de skal bruges af arve-klasser:<br />
protected string navn;<br />
protected string id;<br />
public Figur(string n){navn=n;id="Figur";}<br />
//netode som nedarves:<br />
public 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 />
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