Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Objetos de Classe | Introdução à Programação Orientada a Objetos (POO)
C# Além do Básico

bookObjetos de Classe

Um objeto de uma classe pode ser criado utilizando a seguinte sintaxe:

index.cs

index.cs

copy
1
className variableName = new className();

É possível acessar o campo de uma classe utilizando o operador ponto (.):

index.cs

index.cs

copy
1
variableName.fieldName

Por exemplo:

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

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

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

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

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 é a sintaxe correta para criar um novo objeto a partir de uma classe chamada Car?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

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

bookObjetos de Classe

Deslize para mostrar o menu

Um objeto de uma classe pode ser criado utilizando a seguinte sintaxe:

index.cs

index.cs

copy
1
className variableName = new className();

É possível acessar o campo de uma classe utilizando o operador ponto (.):

index.cs

index.cs

copy
1
variableName.fieldName

Por exemplo:

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

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

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

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

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 é a sintaxe correta para criar um novo objeto a partir de uma classe chamada Car?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 4
some-alt