13
Ein Einsteigerkurs von Christoph Hausner und Samuel Brack http://www.c-sharp.edu.tc/

Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

Embed Size (px)

Citation preview

Page 1: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

http://www.c-sharp.edu.tc/

Page 2: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

ThemenübersichtWiederholungKlassendeklarationMethodendeklarationFelderEigenschaften

Page 3: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

WiederholungCodeausschnitte sind Codeabkürzungen im Visual Studio

und werden über <Abkürzung><Tab><Tab> eingefügtTypkonvertierungen können implizit, explizit oder mit

der Convert-Klasse durchgeführt werdenSwitches dienen dazu, auf mehrere Bedingungen

gleichzeitig zu prüfenManche Klasse müssen vor deren Verwendung

instanziiert werdenAlle Instanzen sind voneinander vollständig unabhängigArrays können beliebig viele Variablen eines Typs

speichern, auf die man jeweils über ihren Index zugreifen kann

for- und while-Schleifen führen einen Codeblock mehrmals hintereinander aus

Page 4: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

KlassendeklarationMan kann nicht nur Klassen aus dem .NET-

Framework verwenden, sondern auch eigene deklarieren, um Code mehrfach verwenden und strukturieren zu können

Diese können dann genauso verwendet werden, wie alle anderen Klassen aus dem Framework

Syntax:namespace Name_des_Namespaces{

public class Name_der_Klasse{

Felder, Methoden, Eigenschaften etc..}

}

Page 5: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

MethodendeklarationMethoden sind bereits bekanntSyntax:public class Name_der_Klasse{

public Typ_des_Rückgabewerts Name(Argumente){

// Code}

}

Page 6: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

MethodendeklarationZ.B:namespace ConsoleApplication1{

public class Program{

public bool IsSquareNumber(int n){

// Codereturn ...;

}}

}

Page 7: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

FelderInterne Variablen einer Klasse, auf die jede

Methode der Klasse Zugriff hatWerden direkt in der Klasse deklariertDienen meist dem Speichern von Daten, auf die

außerhalb der Klasse kein Zugriff notwendig ist und nur intern für die Klasse existieren

Syntax:public class Name_der_Klasse{

Datentyp Name_des_Feldes;}

Page 8: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

EigenschaftenÄhnlich den Feldern, es kann jedoch beliebiger

Code beim Zugriff ausgeführt werdenEs kann festgelegt werden, ob eine Eigenschaft

nur lesbar ist (keine Zuweisung möglich), ob eine Eigenschaft nur beschreibbar ist (kein Auslesen möglich), oder ob die Eigenschaft sowohl lesbar als auch beschreibbar ist

Der Code im Getter wird beim Auslesen der Eigenschaft aufgerufen, der Code im Setter wird beim Zuweisen aufgerufen

Page 9: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

EigenschaftenWerden häufig verwendet, um Einstellungen, die

eine Klasse verwendet, auszulesen bzw. zu ändernEs kann verhindert werden, dass ungültige Daten

einer Eigenschaft zugewiesen werden (if-Abfrage im Setter)

Öffentliche (public) Felder werden nahezu immer durch Eigenschaften ersetzt

Sind fast immer an ein privates Feld innerhalb der Klasse gebunden, um die zugewiesenen Daten zu speichern und später wieder lesen zu können

Page 10: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

Eigenschaften

Klasse

Page 11: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

EigenschaftenSyntax:

public class Name_der_Klasse{

Datentyp name_der_Eigenschaft; // privates Feld

public Datentyp Name_der_Eigenschaft{

get // Getter{

// Code, der beim Auslesen // ausgeführt wird

}set // Setter{

// Code, der beim Zuweisen // ausgeführt wird

}}

}

Page 12: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

EigenschaftenIm Getter kann der Wert, den die Eigenschaft

zurückgibt, über return angeben werden:return Rückgabewert;

Der return-Befehl dient dazu, die aktuelle Methode zu verlassen und den Rückgabewert der Methode bzw. der Eigenschaft zu setzen (beim Rückgabetyp void darf kein Rückgabewert angegeben werden)

Im Setter kann der Wert, der der Eigenschaft zugewiesen werden wird, über value ausgelesen werden

Page 13: Ein Einsteigerkurs von Christoph Hausner und Samuel Brack

EigenschaftenSeit C# 3.0: Automatische EigenschaftenEs wird automatisch ein privates Feld innerhalb

der Klasse angelegt und die Daten bei Zuweisung dorthin gespeichert bzw. bei Lesezugriff von dort abgefragt

Weniger Tipparbeit, kompakterer CodeSyntax:public class Name_der_Klasse{

public Datentyp Name_der_Eigenschaft{

get;set;

}}

Codeausschnitt: prop