Capítulo 09: Classes e Objetos (POO) 🤖🌆
Neste capítulo, vamos entrar no mundo da Programação Orientada a Objetos (POO) no C#, aprendendo a criar nossas próprias estruturas de dados complexas com o tema Cyberpunk 2077!
📖 O que são Classes e Objetos?
- Classe: É o “molde” ou “planta baixa” para criar algo. Ela define quais dados e ações o objeto terá.
- Objeto: É a instância real criada a partir do molde. É o personagem que criamos no jogo!
📖 Exemplo Guiado: Registro de Mercenário
Vamos criar uma classe para representar um Mercenário de Night City e depois criar um objeto (instância) a partir dela.
- Crie o arquivo
mercenario.csna pastasrc/:
using System;
// Código principal
// Criando o objeto 'v' a partir da classe 'Mercenario'
Mercenario v = new Mercenario();
v.Apelido = "V";
v.Nivel = 50;
v.Cibernetica = 75.5;
// Chamando a ação do objeto
v.ExibirStatus();
// Criando a classe (Molde)
public class Mercenario {
// Atributos (Dados)
public string Apelido;
public int Nivel;
public double Cibernetica; // % de implantes
// Método (Ação)
public void ExibirStatus() {
Console.WriteLine("--- Registro de Night City ---");
Console.WriteLine($"Apelido: {Apelido}");
Console.WriteLine($"Nivel: {Nivel}");
Console.WriteLine($"Implantes: {Cibernetica}%");
}
}🕹️ Como Executar e Testar no VS Code
- Execute o projeto usando
dotnet run.
Resultado Esperado:
--- Registro de Night City ---
Apelido: V
Nivel: 50
Implantes: 75.5%📊 Ilustração Visual: Classe vs Objeto
A classe é a definição, o objeto é a realização:
classDiagram class Mercenario { +String Apelido +int Nivel +double Cibernetica +ExibirStatus() }
🛠️ Prática Obrigatória 1: Cadastro de Ciborgue
Crie um programa chamado cadastro_ciborgue.cs com uma classe Ciborgue que tenha os atributos Modelo (string), Bateria (int) e Ativo (bool). Crie um método Exibir() para mostrar os dados formatados (ex: se ativo for true, mostre “Status: Ativo”). Instancie um ciborgue na main e teste!
🔑 Gabarito de Código
Prática 1: cadastro_ciborgue.cs
using System;
Ciborgue c = new Ciborgue();
c.Modelo = "T-800";
c.Bateria = 100;
c.Ativo = true;
c.Exibir();
public class Ciborgue {
public string Modelo;
public int Bateria;
public bool Ativo;
public void Exibir() {
Console.WriteLine("\n--- Ciborgue Cadastrado ---");
Console.WriteLine($"Modelo: {Modelo}");
Console.WriteLine($"Bateria: {Bateria}%");
Console.WriteLine($"Status: {(Ativo ? "Ativo" : "Inativo")}");
}
}