1
resposta

[Projeto] Resolução Exercícios

Exercício 1

class conta
{
    public int ContaCorrente { get; set; }
    public string Titular { get; set; }
    public double Saldo { get; set; }
    public int Senha { get; set; }
}

Exercício 2

class Carro
{
    public string Modelo { get; set; }
    public int Ano { get; set; }
    public double Preco { get; set; }
    public string Fabricante { get; set; }
    public string DescricaoDetalhada
    {
        get
        {
            return $"O carro é do fabricante {Fabricante}, modelo {Modelo} e do ano {Ano}";
        }
    }

    public void Exibir()
    {
        Console.WriteLine(Modelo);
        Console.WriteLine(Ano);
        Console.WriteLine(Preco);
        Console.WriteLine(Fabricante);
    }
}

Carro Civic = new Carro();
Civic.Modelo = "Civic";
Civic.Ano = 2023;
Civic.Preco = 130000.00;
Civic.Fabricante = "Honda";

Civic.Exibir();
Console.WriteLine(Civic.DescricaoDetalhada);

Exercício 3

class Carro
{
    private int ano;
    public string Fabricante { get; set; }
    public string Modelo { get; set; }
    public int Ano
    {
        get => ano;
        set
        {
            if (value < 1960 || value > 2023)
            {
                Console.WriteLine("Valor inválido, insira um ano entre 1960 e 2023");
            }
            else
            {
                ano = value;
            }
        }
    }
    public int QuantidadePortas { get; set; }
    public string DescricaoDetalhada => $"Modelo do carro: {Fabricante} {Modelo} {Ano}";
    public void Exibir()
    {
        Console.WriteLine(Modelo);
        Console.WriteLine(Ano);
        Console.WriteLine(QuantidadePortas);
        Console.WriteLine(Fabricante);
    }
}


Carro Civic = new Carro();
Civic.Modelo = "Civic";
Civic.Ano = 2053;
Civic.QuantidadePortas = 4;
Civic.Fabricante = "Honda";

Civic.Exibir();
Console.WriteLine(Civic.DescricaoDetalhada);

No exercicio 4 fiquei bem confusão... tipo sempre eu vou precisar ter o private e o public para manusear o set??
peguei do que já estava como resolução do Git... tbm queria saber sobre o This, com ou sem daria o mesmo resultado do this?

class Produto
{
    private double preco;
    private int estoque;
    public string Nome { get; set; }
    public string Marca { get; set; }
    public double Preco {
        get => preco;
        set
        {
            if(value > 0)
            {
                preco = value;
            }
            else preco = 10;
        }
    }
    public int Estoque
    {
        get => estoque;
        set
        {
            if(value > 0)
            {
                estoque = value;
            }
            else
            {
                estoque = 0;
            }
        }
    }
    public string DescricaoProduto => $"{this.Nome} {this.Marca} - {this.Preco}";

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi, Tauane! Como vai?

Gostei muito da forma como você aplicou encapsulamento nos exercícios, usando propriedades e validações dentro dos get e set. Sua dúvida sobre o uso de private e public é bem comum: usamos o modificador private quando queremos proteger o campo, permitindo que ele só seja alterado através das propriedades públicas da classe. Já o this é usado para deixar claro que estamos nos referindo ao atributo da instância atual da classe — em muitos casos, o código funciona igual sem ele, mas o uso ajuda na legibilidade.

Uma dica interessante para o futuro é experimentar métodos que inicializam objetos usando construtores. Veja este exemplo:


class Produto {
    public string Nome { get; set; }
    public double Preco { get; set; }

    public Produto(string nome, double preco) {
        Nome = nome;
        Preco = preco;
    }
}

Produto item = new Produto("Caneta", 2.5);
Console.WriteLine(item.Nome);

Esse código cria um objeto Produto já com valores definidos, simplificando a inicialização e tornando o código mais limpo.

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