Difference between revisions of "CSharp Classes"

From Teknologisk videncenter
Jump to: navigation, search
Line 57: Line 57:
 
Bemærk hvordan vi med punktum arbejder os ned igennem klasserne, startende med farsBil af typen Bil.  
 
Bemærk hvordan vi med punktum arbejder os ned igennem klasserne, startende med farsBil af typen Bil.  
 
På farsBil vælger vi attributten ejer der er af typen Person.
 
På farsBil vælger vi attributten ejer der er af typen Person.
På ejer vælger attributten navn der er af typen string.
+
På ejer vælger vi attributten navn der er af typen string.
  
 
== Properties ==
 
== Properties ==

Revision as of 14:57, 9 April 2015

Simpel class

Objekt orienteret programmering er en måde at samle sine data på, et objekt kunne f.eks. være en person eller en bil.

En klasse er en beskrivelse af vores objekter. Vi kunne forestille os klassen Person skulle indeholde oplysninger om Navn og Alder.

I CSharp ville klassen se sådan ud.

   class Person
   {
       public string navn;
       public int alder;
   }

Klassen Person indeholder altså variablen navn af type string og alder af typen int. Disse variable kaldes for klassens attributter.

Når vi skal anvende klassen Person foregår det på følgende måde

   Person bruger1;
   bruger1 = new Person();
   bruger1.navn = "Ole";
   bruger1.alder = 20;

Vi fortæller her at bruger1 er af typen Person, vi erklærer variablen bruger1. Efterfølgende initialisere vi bruger1 son en ny Person. Til sidst giver vi bruger1 navnet Ole og alderen 20.

Vi har nu samlet alle oplysninger om Ole i Objektet bruger1 af typen Person (Klasse). Objektet har Attributterne navn og alder. Vi siger at bruger1 er en instans af klassen Person og at klassen er blevet instantieret.

På samme måde kunne vi definere klassen bil. Klassen har attributterne fabrikat og ejer.

   class Bil
   {
       public string fabrikat;
       public Person ejer;
   }

Bemærk at fabrikat er af typen string mens ejer er af typen Person. Vi anvender altså Person som en type på lige fod med string, int og alle andre variabel typer.

Vi kan nu bruge de to klasser på følgende måde

   Person bruger1 = new Person();
   bruger1.navn = "Ole";
   bruger1.alder = 20;

   Bil farsBil;
   farsBil = new Bil();
   farsBil.fabrikat = "Volvo";
   farsBil.ejer = bruger1;

Bemærk hvordan Personen bruger1 indsættes som ejer i farsBil.

Hvis vi efterfølgende vil udskrive navnet på den Person som ejer farsBil kan vi skrive

   Console.WriteLine(farsBil.ejer.navn);

Bemærk hvordan vi med punktum arbejder os ned igennem klasserne, startende med farsBil af typen Bil. På farsBil vælger vi attributten ejer der er af typen Person. På ejer vælger vi attributten navn der er af typen string.

Properties

Inheritance