Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Klasseobjekter | Introduktion til Objektorienteret Programmering (OOP)
C# Ud Over Det Grundlæggende

bookKlasseobjekter

Et objekt af en klasse kan oprettes ved hjælp af følgende syntaks:

index.cs

index.cs

copy
1
className variableName = new className();

Du kan få adgang til et felt i en klasse ved at bruge punktum (.) operatoren:

index.cs

index.cs

copy
1
variableName.fieldName

For eksempel:

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); } }

Udtrykket new Player(); bruges til at oprette et nyt objekt, mens Player p1 bruges til at oprette en variabel til at gemme det nye objekt. Hvis du blot skriver Player p1;, oprettes kun en tom variabel uden noget objekt indeni, derfor skal du oprette et nyt objekt og gemme det i en variabel: Player p1 = new Player();.

Hvis du derfor opretter et array med størrelsen 10 ved hjælp af Player-klassen, oprettes der ikke 10 objekter, men derimod et tomt array med kapacitet til at gemme 10 Player-objekter. Dette kan illustreres med følgende eksempel:

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); } }

Fejlmeddelelsen siger "Object reference not set to an instance of an object", hvilket blot betyder, at du forsøger at tilgå data fra et objekt, der ikke eksisterer – der er intet objekt at tilgå på indeks 0.

Dette kan løses ved manuelt at oprette et objekt på indeks 0:

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

Hvad er den korrekte syntaks for at oprette et nyt objekt fra en klasse kaldet Car?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookKlasseobjekter

Stryg for at vise menuen

Et objekt af en klasse kan oprettes ved hjælp af følgende syntaks:

index.cs

index.cs

copy
1
className variableName = new className();

Du kan få adgang til et felt i en klasse ved at bruge punktum (.) operatoren:

index.cs

index.cs

copy
1
variableName.fieldName

For eksempel:

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); } }

Udtrykket new Player(); bruges til at oprette et nyt objekt, mens Player p1 bruges til at oprette en variabel til at gemme det nye objekt. Hvis du blot skriver Player p1;, oprettes kun en tom variabel uden noget objekt indeni, derfor skal du oprette et nyt objekt og gemme det i en variabel: Player p1 = new Player();.

Hvis du derfor opretter et array med størrelsen 10 ved hjælp af Player-klassen, oprettes der ikke 10 objekter, men derimod et tomt array med kapacitet til at gemme 10 Player-objekter. Dette kan illustreres med følgende eksempel:

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); } }

Fejlmeddelelsen siger "Object reference not set to an instance of an object", hvilket blot betyder, at du forsøger at tilgå data fra et objekt, der ikke eksisterer – der er intet objekt at tilgå på indeks 0.

Dette kan løses ved manuelt at oprette et objekt på indeks 0:

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

Hvad er den korrekte syntaks for at oprette et nyt objekt fra en klasse kaldet Car?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 4
some-alt