Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Klasseobjekter | Introduksjon til Objektorientert Programmering (OOP)
C# Utover Det Grunnleggende

bookKlasseobjekter

Et objekt av en klasse kan opprettes ved å bruke følgende syntaks:

index.cs

index.cs

copy
1
className variableName = new className();

Du kan få tilgang til et felt i en klasse ved å bruke punktumoperatoren (.):

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

Uttrykket new Player(); brukes for å opprette et nytt objekt, mens Player p1 brukes for å opprette en variabel for å lagre det nye objektet. Å kun skrive Player p1; vil derfor bare opprette en tom variabel uten noe objekt inni, så du må opprette et nytt objekt og deretter lagre det i en variabel: Player p1 = new Player();.

Hvis du dermed oppretter et array med størrelse 10 ved å bruke Player-klassen, vil det ikke opprette 10 objekter, men heller et tomt array med kapasitet til å lagre 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); } }

Feilmeldingen sier "Object reference not set to an instance of an object", som ganske enkelt betyr at du prøver å få tilgang til data fra et objekt som ikke finnes – det er ikke noe objekt å få tilgang til på indeks 0.

Dette kan løses ved å manuelt opprette 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

Hva er riktig syntaks for å opprette et nytt objekt fra en klasse kalt Car?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 2.04

bookKlasseobjekter

Sveip for å vise menyen

Et objekt av en klasse kan opprettes ved å bruke følgende syntaks:

index.cs

index.cs

copy
1
className variableName = new className();

Du kan få tilgang til et felt i en klasse ved å bruke punktumoperatoren (.):

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

Uttrykket new Player(); brukes for å opprette et nytt objekt, mens Player p1 brukes for å opprette en variabel for å lagre det nye objektet. Å kun skrive Player p1; vil derfor bare opprette en tom variabel uten noe objekt inni, så du må opprette et nytt objekt og deretter lagre det i en variabel: Player p1 = new Player();.

Hvis du dermed oppretter et array med størrelse 10 ved å bruke Player-klassen, vil det ikke opprette 10 objekter, men heller et tomt array med kapasitet til å lagre 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); } }

Feilmeldingen sier "Object reference not set to an instance of an object", som ganske enkelt betyr at du prøver å få tilgang til data fra et objekt som ikke finnes – det er ikke noe objekt å få tilgang til på indeks 0.

Dette kan løses ved å manuelt opprette 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

Hva er riktig syntaks for å opprette et nytt objekt fra en klasse kalt Car?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4
some-alt