Definition Instance Fieldes Static Fields Acces Modifier Definition Felder sind Variablen eines beliebigen Typs, die innerhalb einer class oder struct definiert werden. Dabei sind instance fields und static fields voneinander zu unterscheiden. Instance Fieldes Instance fields können in einem Object geändert werden, ohne das sich dies auf das gleiche Feld in anderen Objekten auswirkt. Static Fields Im Gegensatz dazu gehören static fields zur Klasse, in der sie definiert werden. Wird ein solches Feld in der […]
Schlagwort: OOP
C# Extension Methods
Erweiterte Methoden lassen sich aufrufen, ohne dass von der sie enthaltenden Klasse ein Objekt instanziiert wurde. Beispiel Sehr verbeitet ist die Nutzung der LINQ Standard Query Operators. Um diese nutzen zu können, muss zunächst der entsprechnde Namespace verwendet werden: using System.Linq Danach kann jeder Typ der EInumerable<t> implementiert Methoden wie GroupBy, OrderBy etc. verwenden. Von diesem Typ sind z.B. List<t> oder Array Erweiterte Methoden werden als Static Method definiert, aber wie instaziierte Methoden aufgerufen. Hinweis […]
C# Events
C# Delegates
Bei Delegaten handelt es sich um Funktionszeiger. Dass bedeutet, dass man in einem Delegaten Die Referenz auf eine (oder auch mehrere) Funktionen speichern kann. Man kann damit also einen Methoden-Aufruf in einer Variablen speichern. Definition eines Delegaten: public delegate int Calculate(int num1, int num2); Bei der Definition des Delegaten wir der Rückgabe und die Methoden-Signatur angegeben. Die Methoden-Signatur muss genau der Methode entsprechen, deren Referenz in dem Delegaten gespeichert werden soll. Eine gültige Methode sieht […]
C# Abstract Classes
Definition Abgrenzung Abstrakte Methoden Definition Eine Abstrakte Klasse ist eine Klasse, von der nur geerbt werden kann. Das bedeutet, dass man von Abstrakten Klassen keine Objekte instantiieren kann. Deshalb werden sie auch oft Basisklasse genannt. Ausserdem gehen sie noch einen Schritt weiter als die Interfaces. Auch sie geben in gewisser Weise die Form vor, die die erbende Klasse annimmt. Abgrenzung Im Gegensatz zum Interface, kann (muss aber nicht) in der Abstrakten Klasse aber z.B. eine […]
C# Interfaces
Interfaces kann man als Vertrag verstehen, den eine Klasse, die von diesem Interface erbt, erfüllen muss. D.h., dass das Interface die Struktur einer Klasse vorgibt. Folgende Elemente können in einem Interface vorgeschrieben werden: Methoden Eigenschaften Ereignisse (Events) Indexer Bsp. für die Definition eines Interfaces: interface ITier { // Properties string Gender {get; set;} int Age {get; set;} // Methods void eat(); void drink(); } Innerhalb eines Interfaces werden keine Zugriffs-Modifizierer gesetzt. Das erfolgt erst bei […]
Grundkonzepte von C#
Einleitung Namenskonventionen Schlüsselwörter Verpflichtende Regeln Optionale Regeln Zugriffsmodifizierer public protected internal protected internal private protected private Einleitung C# ist eine rein objektorientierte Sprache. D.h., dass alle Datentypen auf Klassen basieren und all Anweisungen in Klassen erfolgen. Es werden alle zentralen Konzepte der objektorientierten Programmierung unterstützt: Schnittstellen Vererbung Polymorphismus Namenskonventionen C# unterscheidet auch zwischen Groß- und Kleinschreibung. Das bedeutet, dass a und A zwei unterschiedliche Variablennamen sind. Schlüsselwörter Um bei der Benennung von Bezeichnern nicht in […]