Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Klassenobjekte | Einführung in die Objektorientierte Programmierung (OOP)
C# Jenseits der Grundlagen

bookKlassenobjekte

Ein Objekt einer Klasse kann mit folgender Syntax erstellt werden:

index.cs

index.cs

copy
1
className variableName = new className();

Auf das Feld einer Klasse kann mit dem Punkt-Operator (.) zugegriffen werden:

index.cs

index.cs

copy
1
variableName.fieldName

Zum Beispiel:

index.cs

index.cs

copy
12345678910111213141516
using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player p1= new Player(); p1.username = "Don"; Console.WriteLine(p1.username); } }

Der Ausdruck new Player(); wird verwendet, um ein neues Objekt zu erstellen, während Player p1 eine Variable zum Speichern dieses neuen Objekts deklariert. Das bloße Schreiben von Player p1; erzeugt lediglich eine leere Variable ohne ein darin enthaltenes Objekt. Daher muss ein neues Objekt erstellt und anschließend in einer Variablen gespeichert werden: Player p1 = new Player();.

Wenn ein Array der Größe 10 mit der Klasse Player erstellt wird, werden dadurch nicht 10 Objekte erzeugt, sondern lediglich ein leeres Array mit der Kapazität, 10 Player-Objekte zu speichern. Dies lässt sich am folgenden Beispiel verdeutlichen:

index.cs

index.cs

copy
12345678910111213141516
using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player[] players = new Player[10]; players[0].username = "Don"; // Error on this line Console.WriteLine(players[0].username); } }

Die Fehlermeldung lautet "Object reference not set to an instance of an object", was einfach bedeutet, dass versucht wird, auf Daten eines Objekts zuzugreifen, das nicht existiert – es gibt kein Objekt am Index 0, auf das zugegriffen werden kann.

Dieses Problem kann behoben werden, indem am Index 0 manuell ein Objekt erstellt wird:

index.cs

index.cs

copy
12345678910111213141516
using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player[] players = new Player[10]; players[0] = new Player(); players[0].username = "Don"; Console.WriteLine(players[0].username); } }
question mark

Was ist die korrekte Syntax, um ein neues Objekt aus einer Klasse namens Car zu erstellen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain why creating an array of objects doesn't automatically create the objects themselves?

How do I initialize all elements in an array of objects?

What does "Object reference not set to an instance of an object" mean in simple terms?

Awesome!

Completion rate improved to 2.04

bookKlassenobjekte

Swipe um das Menü anzuzeigen

Ein Objekt einer Klasse kann mit folgender Syntax erstellt werden:

index.cs

index.cs

copy
1
className variableName = new className();

Auf das Feld einer Klasse kann mit dem Punkt-Operator (.) zugegriffen werden:

index.cs

index.cs

copy
1
variableName.fieldName

Zum Beispiel:

index.cs

index.cs

copy
12345678910111213141516
using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player p1= new Player(); p1.username = "Don"; Console.WriteLine(p1.username); } }

Der Ausdruck new Player(); wird verwendet, um ein neues Objekt zu erstellen, während Player p1 eine Variable zum Speichern dieses neuen Objekts deklariert. Das bloße Schreiben von Player p1; erzeugt lediglich eine leere Variable ohne ein darin enthaltenes Objekt. Daher muss ein neues Objekt erstellt und anschließend in einer Variablen gespeichert werden: Player p1 = new Player();.

Wenn ein Array der Größe 10 mit der Klasse Player erstellt wird, werden dadurch nicht 10 Objekte erzeugt, sondern lediglich ein leeres Array mit der Kapazität, 10 Player-Objekte zu speichern. Dies lässt sich am folgenden Beispiel verdeutlichen:

index.cs

index.cs

copy
12345678910111213141516
using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player[] players = new Player[10]; players[0].username = "Don"; // Error on this line Console.WriteLine(players[0].username); } }

Die Fehlermeldung lautet "Object reference not set to an instance of an object", was einfach bedeutet, dass versucht wird, auf Daten eines Objekts zuzugreifen, das nicht existiert – es gibt kein Objekt am Index 0, auf das zugegriffen werden kann.

Dieses Problem kann behoben werden, indem am Index 0 manuell ein Objekt erstellt wird:

index.cs

index.cs

copy
12345678910111213141516
using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player[] players = new Player[10]; players[0] = new Player(); players[0].username = "Don"; Console.WriteLine(players[0].username); } }
question mark

Was ist die korrekte Syntax, um ein neues Objekt aus einer Klasse namens Car zu erstellen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4
some-alt