1
resposta

Desafio 2: C#: dominando Orientação a Objetos C#: dominando Orientação a Objetos

  • Modelar um Pet Shop com classes como Pet, Dono, Consulta e médico.

class Consulta
    {
        public int IdConsulta { get; set; }
        public string Descricao { get; set; }
        public DateTime Data { get; set; }
    }
   class Dono
    {
        public int IdDono { get; set; }
        public string Nome { get; set; }
        public string Cpf { get; set; }
    }
class Medico
    {
        public int IdMedico { get; set; }
        public string Nome { get; set; }
        public string Cpf { get; set; }
    }
class Pet
    {
        public string Nome {  get; set; }
        public string Tipo {  get; set; }
        public string Raca {  get; set; }
    }
}
  • Modelar o funcionamento de uma oficina automobilistica.
  • Criar um programa Program.cs e simular o funcionamento do programa.

    class Carro
    {
        //construtor public Carro(string modelo, string placa, int ano)
        
        public string Modelo {  get; set; }
        public string Placa { get; set; }
        public int Ano { get; set; }
        public bool PrecisaReparo { get; set; }
        public static void ExibirInformacoes(Carro carro)
        {
            Console.WriteLine($"{carro.Modelo}, Ano: {carro.Ano}, Placa: {carro.Placa}");
        }
        public static void NecessitaReparo(Carro carro)
        {
            string msg;
            if(carro.PrecisaReparo == true)
            {
                msg = $"Veículo: {carro.Modelo} - {carro.Placa}, necessita reparo";
            }
            else
            {
                msg = $"Veículo: {carro.Modelo} - {carro.Placa}, não precisa de reparo";
            }
            Console.WriteLine(msg);
        }
    }
    class Cliente
    {
        private List<Carro> _listaCarros = new List<Carro>();
        public Cliente(string nome, string cpf)
        {
            Nome = nome;
            Cpf = cpf;
        }
        public string Nome { get; set; }
        public string Cpf { get; set; }
        public void AdicionarCarro(Carro carro)
        {
            _listaCarros.Add(carro);
        }
        public void ExibirDados()
        {
            Console.WriteLine($"\n{Nome}, - Cpf: {Cpf}");
            Console.WriteLine($"Lista de Carros: ");
            foreach (Carro c in _listaCarros)
            {
                Console.WriteLine($"Carro: {c.Modelo}, Ano: {c.Ano}, Placa: {c.Placa}");
            }
            }
        }
    internal class Mecanico
    {
        public Mecanico(string nome, string especialidade, int experiencia)
        {
            Nome = nome;
            Especialidade = especialidade;
            Experiencia = experiencia;
        }
        public string Nome { get; set; }
        public string Especialidade { get; set; }
        public int Experiencia { get; set; }

        public void RealizarServico(Carro carro)
        {
            if(carro.PrecisaReparo== true)
            {
                carro.PrecisaReparo = false;
                Console.WriteLine("Carro consertado.");
            }
            else
            {
                Console.WriteLine("Carro não precisa de reparo.");
            }
        }
        public void ExibirPerfil()
        {
            Console.WriteLine($"\n{Nome} - Especialidade: {Especialidade}, {Experiencia} anos de experiência.");
        }
}
    internal class Servico
    {
        //construtor public Servico(int idServico,string tipoServico, decimal valor, Carro carro, Mecanico mecanico)
       
        public int IdServico { get; set; }
        public string TipoServico { get; set; }
        public decimal Valor { get; set; }
        public Carro Carro { get; set; }
        public Mecanico Mecanico { get; set; }

        public void ExibirDetalhes()
        {
            Console.WriteLine($"\nId Serviço: {IdServico} ");
            Console.WriteLine($"Serviço: [{TipoServico}] - valor: {Valor}");
            Console.WriteLine($"Carro: [{Carro.Modelo}] - Mecânico: {Mecanico.Nome}");
        }
    }
  • Escrever um programa que funcione como uma calculadora, que pode realizar as 4 operações básicas
public static int Somar(int num1, int num2)
{
    int resultado = num1 + num2;
    Console.WriteLine($"{num1} + {num2} = {resultado}");
    return resultado;
}
public static int Subtrair(int num1, int num2)
{
    int resultado = num1 - num2;
    Console.WriteLine($"{num1} - {num2} = {resultado}");
    return resultado;
}
public static int Multiplicar(int num1, int num2)
{
    int resultado = num1 * num2;
    Console.WriteLine($"{num1} X {num2} = {resultado}");
    return resultado;
}
public static int Dividir(int num1, int num2)
{
    int resultado = num1 / num2;
    Console.WriteLine($"{num1} / {num2} = {resultado}");
    return resultado;
}
1 resposta

Olá, Paulo! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso da orientação a objetos para modelar diferentes cenários, utilizou muito bem as classes para representar entidades distintas e ainda compreendeu a importância de métodos e propriedades para simular o funcionamento de sistemas como oficina e calculadora.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!