1
resposta

Desafio: Métodos de Acesso e Propriedades

  1. Classe Conta
class Conta
{
    public string NumeroConta {  get; set; }
    public string Titular { get; set; }
    public decimal Saldo { get; }
    public string Senha { get; }

    public void ExibirInformacoes()
    {
        Console.WriteLine($"Número da conta: {NumeroConta}");
        Console.WriteLine($"Titular: {Titular}");
        Console.WriteLine($"Saldo da conta: R${Saldo}");
    }
}
  1. Classe Carro
  2. Classe Carro
{
    public string Modelo { get; set; }
    public string Fabricante { get; set; }
    public int Ano { get; set; }
    public int Velocidade { get; set; }
    public string DescricaoDetalhada => $"{Fabricante}, {Modelo}, Ano: {Ano}\n";
    public void ExibirInformacoes()
    {
        Console.WriteLine($"Modelo do carro: {Modelo}");
        Console.WriteLine($"Ano: {Ano}");
        Console.WriteLine($"Atual Velocidade: {Velocidade}Km/h");
        Console.WriteLine(DescricaoDetalhada);
    }
}
  1. Classe Produto
class Produto
{
    public string Nome {  get; set; }
    public string Marca {  get; set; }
    public decimal Preco {  get; set; }
    public int Estoque {  get; set; }

    public void ExibirInformacoes()
    {
        Console.WriteLine($"Produto: {Nome}");
        Console.WriteLine($"Marca: {Marca}");
        Console.WriteLine($"Preço: {Preco}");
        Console.WriteLine($"Estoque: {Estoque}");
    }
}

Fiz dessa forma as classes Carro e Produto, sei que faltaram as verificações; Porém não fixei como foi feito a utilização desses operadores no set, ficou meio connfuso essa explicação.

1 resposta

Olá, Paulo! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de propriedades automáticas para simplificar a estrutura das classes, utilizou muito bem métodos para exibir informações de forma organizada e ainda compreendeu a importância da modelagem orientada a objetos para representar diferentes entidades do sistema.

Uma dica interessante para o futuro é aplicar validações nos setters para garantir consistência nos dados. Assim:

private decimal _preco;
public decimal Preco
{
    get => _preco;
    set
    {
        if (value >= 0)
            _preco = value;
        else
            Console.WriteLine("Preço inválido!");
    }
}

Isso faz com que valores incorretos não sejam atribuídos às propriedades, aumentando a robustez da aplicação.

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!