Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Oggetti di Classe | Introduzione alla Programmazione Orientata agli Oggetti (OOP)
C# Oltre le Basi

bookOggetti di Classe

Un oggetto di una classe può essere creato utilizzando la seguente sintassi:

index.cs

index.cs

copy
1
className variableName = new className();

È possibile accedere al campo di una classe utilizzando l'operatore punto (.):

index.cs

index.cs

copy
1
variableName.fieldName

Ad esempio:

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

L'espressione new Player(); viene utilizzata per creare un nuovo oggetto, mentre Player p1 viene utilizzata per creare una variabile per memorizzare quel nuovo oggetto. Quindi, scrivere semplicemente Player p1; creerà solo una variabile vuota senza alcun oggetto al suo interno; pertanto, è necessario creare un nuovo oggetto e, di conseguenza, memorizzarlo in una variabile: Player p1 = new Player();.

Pertanto, se si crea un array di dimensione 10 utilizzando la classe Player, non verranno creati 10 oggetti, ma verrà creato un array vuoto con la capacità di memorizzare 10 oggetti Player. Questo può essere compreso con il seguente esempio:

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

L'errore indica "Object reference not set to an instance of an object", il che significa semplicemente che si sta tentando di accedere ai dati di un oggetto che non esiste: non c'è alcun oggetto a cui accedere all'indice 0.

Questo può essere risolto creando manualmente un oggetto all'indice 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

Qual è la sintassi corretta per creare un nuovo oggetto da una classe chiamata Car?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 2.04

bookOggetti di Classe

Scorri per mostrare il menu

Un oggetto di una classe può essere creato utilizzando la seguente sintassi:

index.cs

index.cs

copy
1
className variableName = new className();

È possibile accedere al campo di una classe utilizzando l'operatore punto (.):

index.cs

index.cs

copy
1
variableName.fieldName

Ad esempio:

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

L'espressione new Player(); viene utilizzata per creare un nuovo oggetto, mentre Player p1 viene utilizzata per creare una variabile per memorizzare quel nuovo oggetto. Quindi, scrivere semplicemente Player p1; creerà solo una variabile vuota senza alcun oggetto al suo interno; pertanto, è necessario creare un nuovo oggetto e, di conseguenza, memorizzarlo in una variabile: Player p1 = new Player();.

Pertanto, se si crea un array di dimensione 10 utilizzando la classe Player, non verranno creati 10 oggetti, ma verrà creato un array vuoto con la capacità di memorizzare 10 oggetti Player. Questo può essere compreso con il seguente esempio:

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

L'errore indica "Object reference not set to an instance of an object", il che significa semplicemente che si sta tentando di accedere ai dati di un oggetto che non esiste: non c'è alcun oggetto a cui accedere all'indice 0.

Questo può essere risolto creando manualmente un oggetto all'indice 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

Qual è la sintassi corretta per creare un nuovo oggetto da una classe chiamata Car?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
some-alt