Objetos de Classe
Um objeto de uma classe pode ser criado utilizando a seguinte sintaxe:
index.cs
1className variableName = new className();
É possível acessar o campo de uma classe utilizando o operador ponto (.):
index.cs
1variableName.fieldName
Por exemplo:
index.cs
12345678910111213141516using 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); } }
A expressão new Player(); é utilizada para criar um novo objeto, enquanto Player p1 é utilizada para criar uma variável para armazenar esse novo objeto. Portanto, ao escrever apenas Player p1;, será criada apenas uma variável vazia, sem nenhum objeto dentro dela; por isso, é necessário criar um novo objeto e, em seguida, armazená-lo em uma variável: Player p1 = new Player();.
Assim, ao criar um Array de tamanho 10 usando a classe Player, não serão criados 10 objetos, mas sim um array vazio com capacidade para armazenar 10 objetos do tipo Player. Isso pode ser entendido pelo exemplo a seguir:
index.cs
12345678910111213141516using 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); } }
O erro diz "Object reference not set to an instance of an object", o que significa que está sendo feita uma tentativa de acessar dados de um objeto que não existe – não há objeto para acessar no índice 0.
Isso pode ser corrigido criando manualmente um objeto no índice 0:
index.cs
12345678910111213141516using 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); } }
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 2.04
Objetos de Classe
Deslize para mostrar o menu
Um objeto de uma classe pode ser criado utilizando a seguinte sintaxe:
index.cs
1className variableName = new className();
É possível acessar o campo de uma classe utilizando o operador ponto (.):
index.cs
1variableName.fieldName
Por exemplo:
index.cs
12345678910111213141516using 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); } }
A expressão new Player(); é utilizada para criar um novo objeto, enquanto Player p1 é utilizada para criar uma variável para armazenar esse novo objeto. Portanto, ao escrever apenas Player p1;, será criada apenas uma variável vazia, sem nenhum objeto dentro dela; por isso, é necessário criar um novo objeto e, em seguida, armazená-lo em uma variável: Player p1 = new Player();.
Assim, ao criar um Array de tamanho 10 usando a classe Player, não serão criados 10 objetos, mas sim um array vazio com capacidade para armazenar 10 objetos do tipo Player. Isso pode ser entendido pelo exemplo a seguir:
index.cs
12345678910111213141516using 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); } }
O erro diz "Object reference not set to an instance of an object", o que significa que está sendo feita uma tentativa de acessar dados de um objeto que não existe – não há objeto para acessar no índice 0.
Isso pode ser corrigido criando manualmente um objeto no índice 0:
index.cs
12345678910111213141516using 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); } }
Obrigado pelo seu feedback!