C# Klassen und Objekte

Du weißt mit Sicherheit, dass C Sharp eine so genannte objektorientierte Programmiersprache ist. Doch was bedeutet das eigentlich? Schauen wir uns jetzt also C# Klassen mal genauer an…

Eine Klasse ist wie eine Vorlage

Wie immer werde ich versuchen die Theorie so sinnbildlich wie möglich zu erklären. Eine Klasse ist wie eine Vorlage oder eine Blaupause. Von Klassen kannst du Objekte erstellen. Dieser Vorgang nennt sich Instanziierung.

Zuerst erstellen wir eine Klassen. Wir gehen mal davon aus, dass wir eine Videoplattform (wie Netflix oder ähnliches) programmieren wollen. Für diese Anwendung benötigen wir auf jeden Fall eine Klasse mit dem Name Movie die eine Vorlage für jeden möglichen Film wird:

Lerne C#, den einfach Weg!
Programmieren lernen muss nicht schwer sein!
public class Movie {

} 

Merke: Eine Klasse erstellst du mit dem Keyword class (engl. für Klasse) und du erstellst sie außerhalb deiner Programm Klasse

Zum jetzigen Zeitpunkt hat unsere Movie Klasse noch keine Eigenschaften (Properties), Felder oder Methoden. Als nächstes machen wir uns jetzt mal Gedanken darüber, was unsere Movie Klasse also für Eigenschaften haben sollte. Wie wäre es mit einem Titel, einer Altersbeschränkung und einer Kategorie? Für die jeweiligen Eigenschaften wählst du dann natürlich die passenden Datentypen:

public class Movie {

    public string title;
    public int minAge = 6; // Hier ist ein Standardwert zu gewiesen
    public string category;

}

Wir haben unserer Movie Klasse jetzt also drei Eigenschaften bzw. Variablen hinzugefügt. Du kannst Variablen natürlich einen Standardwert zuweisen (beispielsweise geben wir an, dass das standardmäßige Mindestalter 6 ist).

Ein Objekt von C# Klassen erzeugen (instanziieren)

Jetzt kommt der spannende Teil. C# ist eine objektorientierte Programmiersprache, weil sich der Code den wir Programmieren zu großen Teilen auf bestimmte Objekte (Instanzen) einer Klasse bezieht.

Wichtig: Wenn wir jetzt annehmen, das wir 20 Filme in unserer Video/Film Plattform haben, dann erstellen wir 20 Objekte (Instanzen) der Movie Klasse.

Schauen wir uns jetzt an, wie wir ein Objekt einer Klasse erzeugen. Dafür verwenden wir das Keyword new:

// Dieser Code würde in einer eigenen .cs Datei stehen 
// zwecks Übersichtlichkeit steht er hier
public class Movie {

    public string title;
    public int minAge = 6; // Hier ist ein Standardwert zu gewiesen
    public string category;

}


public class MoviePlatform { // Unser Programm ist auch eine Klasse


    public static void Main {
        
        Movie myFirstMovie = new Movie();
        
        myFirstMovie.title = "Der weiße Hai";
        myFirstMovie.minAge = 18;
        myFirstMovie.category = "Horror";

        Console.WriteLine("Titel: " + myFirstMovie.title);
        Console.WriteLine("Mindestalter: " + myFirstMovie.minAge);
        Console.WriteLine("Kategorie: " + myFirstMovie.category);

    }


}

Innerhalb der Main Methode haben wir jetzt eine Variable vom Datentyp Movie angelegt (ja, auch Klassen sind Datentypen) mit dem Namen myFirstMovie. Dafür haben wir das Keyword new verwendet und dann die Klasse angegeben von der wir ein Objekt erstellen wollen. Die beiden leeren Klammern sagen, dass für die Erstellung des Objektes keine initialen Werte übergeben werden:

// <Datentyp> <VariablenName> = <Wert der Variablen>
Movie myFirstMovie = new Movie();

Zu Deutsch würde diese Zeile Code als übersetzt lauten: Erstelle ein Objekt der Klasse Movie und binde dieses Objekt an die Variable mit dem Namen myFirstMovie vom Datentyp Movie.

Wie du sehen kannst, haben wir mit den nächsten Zeilen Code die Eigenschaften (bzw. Variablen) von diesem Movie-Objekt gesetzt/verändert. Unser erstelltes Objekt ist also ein Movie mit dem Titel Der weiße Hai aus der Kategorie Horror mit dem Mindestalter von 18 Jahren.

Auf die Variablen/Eigenschaften einer Klasse kannst du zugreifen, indem du den Zugriffsoperator . verwendest:

myFirstMovie.title = "Der weiße Hai"; // Der Punkt . ist der Zugriffsoperator
myFirstMovie.minAge = 18;
myFirstMovie.category = "Horror";

Beachte: Wir verwenden den Zugriffsoperator hier bei dem Objekt und nicht bei der Klasse selbst! Wir sagen also myFirstMovie.title und nicht Movie.title

Mit dem gleichen Operator kannst du dir natürlich nicht nur Werte setzen, du kannst auch Werte auslesen und ausgeben:

Console.WriteLine("Titel: " + myFirstMovie.title);
Console.WriteLine("Mindestalter: " + myFirstMovie.minAge);
Console.WriteLine("Kategorie: " + myFirstMovie.category);

C# ist also eine objektorientierte Programmiersprache, weil sich unser Code zu meist auf Instanzen (Objekte) einer Klasse bezieht. Mehr zum Thema C# Klassen kannst du hier lesen.


Programmieren lernen muss nicht schwer sein! Mit meinem C# Video-Intensivkurs wirst du ganz einfach und im Handumdrehen zum echten .NET Profi! Schau dir jetzt den Videokurs an um zügig ein besserer Entwickler zu werden, mehr Geld zu verdienen oder deinen ersten Job als Quereinsteiger zu finden.

Willst du wissen, wie du einfach und schnell zum C# Profi wirst?
PRogrammieren lernen kann einfach sein!
Overlay Image
Willst du wissen, wie du einfach und schnell zum C# Profi wirst?
PRogrammieren lernen kann einfach sein!
Overlay Image
Setze dein gelerntes Wissen in die Tat um und programmiere echte Anwendungen.
1. Tipp
1/3
Overlay Image
Setze dein gelerntes Wissen in die Tat um und programmiere echte Anwendungen.
1. Tipp
1/3
Overlay Image
Lerne wie du mit Debugging Fehler eines Programmes professionell beheben kannst.
2. Tipp
2/3
Overlay Image
Lerne wie du mit Debugging Fehler eines Programmes professionell beheben kannst.
2. Tipp
2/3
Overlay Image
Fokussiere dich beim lernen auf die richtigen Inhalte und nicht auf die Menge.
3. Tipp
3/3
Overlay Image
Fokussiere dich beim lernen auf die richtigen Inhalte und nicht auf die Menge.
3. Tipp
3/3
Overlay Image
Ja, so einfach kann es sein! Mit meinem C# Videokurs wirst du ganz einfach zum echten Profi Entwickler. Möchtest du mehr dazu erfahren?
Alles in einem Kurs
Overlay Image
Ja, so einfach kann es sein! Mit meinem C# Videokurs wirst du im Handumdrehen zum echten Profi Entwickler. Möchtest du mehr dazu erfahren?
Alles in einem Kurs
Overlay Image
Diese Seite verwendet Cookies. Wir können diese zur Analyse unserer Besucherdaten platzieren, um unsere Website zu verbessern, personalisierte Inhalte anzuzeigen und Ihnen ein großartiges Website-Erlebnis zu bieten. Für weitere Informationen zu den von uns verwendeten Cookies öffnen Sie die Einstellungen.