Difference between revisions of "6237 Programmering II (Csharp) Agenda/Classes"
(→Klasser) |
|||
Line 101: | Line 101: | ||
} | } | ||
</source> | </source> | ||
− | [[Category: | + | [[Category:6237 Programmering II]] |
Revision as of 14:30, 29 September 2015
Klasser
Klasser kan bedst forklares som en samling af - attributter (Der fortæller noget om objektet) - metoder (Der gør noget med objektet)
Den bedste måde at illustrerer en klasse på er ved at anvende UML. Herunder vises klassen Person, der har attributterne Navn og Email, og metoden SigHej der tager navn som parameter.
Hvis vi skal realiserer klassen skal vi først lave dens attributter. Det gøres med propperties som vist herunder.
class Person
{
//Properties
private String navn;
public String Navn
{
get { return navn; }
set { navn = value; }
}
private String email;
public String Email
{
get { return email; }
set { email = value; }
}
}
Der efter laver vi også dens metoder. I dette tilfælde kun en nemlig SigHej.
public void SigHej(String navn)
{
System.Console.WriteLine("Hej med dig {0} mit navn er {1}", navn, this.navn);
}
Til sidst skal vi lave en konstruktør. Det er den som bliver kaldt når nogen opretter en instans af klassen. I konstruktøren overfører vi parametrene navn og email der gemmes i klasens egne variable af samme navn. Derfor kodeordet "this".
//Konstruktør
public Person(String navn, String email)
{
this.navn = navn;
this.email = email;
}
Nu er klassen klar til at blive brugt. Det sker ved at vi opreter variablen p1 og p2 af typer Person. Bemærk parametrene Ole og oles@mail.dk der skal matche dem vi havde i konstruktøren. Til sidst kalder vi metoden SigHej på p1 og giver den navnet Bent som parameter.
static void Main(string[] args)
{
Person p1 = new Person("Ole", "oles@mail.dk");
Person p2 = new Person("Bent", "bents@mail.dk");
p1.SigHej("Bent");
}
Samlet ser det hele sådan ud.
class Person
{
//Properties
private String navn;
public String Navn
{
get { return navn; }
set { navn = value; }
}
private String email;
public String Email
{
get { return email; }
set { email = value; }
}
//Konstruktør
public Person(String navn, String email)
{
this.navn = navn;
this.email = email;
}
public void SigHej(String navn)
{
System.Console.WriteLine("Hej med dig {0} mit navn er {1}", navn, this.navn);
}
}
class Program
{
static void Main(string[] args)
{
Person p1 = new Person("Ole", "oles@mail.dk");
p1.SigHej("Bent");
}
}