1
resposta

Resolução - Hora da Pratica 2

//Exercicio 1

public class ContaBancaria {

//Atributos
private int numeroConta;
private double saldo;
public String titular;

// Getters e Setters

//Get e Set - Conta
public int getNumeroConta() {
    return numeroConta;
}

public void setNumeroConta(int numeroConta) {
    this.numeroConta = numeroConta;
}

//Get e Set - Saldo
public double getSaldo() {
    return saldo;
}

public void setSaldo(double saldo) {
    this.saldo = saldo;
}

//Get e Set - Titular
public void setTitular(String titular) {
    this.titular = titular;
}

public String getTitular() {
    return titular;
}
}

//Exercicio 2

public class IdadePessoa {

//Atributos
private String nome;
private int idade;

//Get e Set - Nome
public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

//Get e Set - Idade
public int getIdade() {
    return idade;
}

public void setIdade(int idade) {
    this.idade = idade;
}

//Metodo para verificar idade.
public void verificarIdade(){
    if(idade <= 17){
        System.out.println("Você tem apenas " + idade + " anos, logo é Menor de idade.");
    } else {
        System.out.println("Você já tem " + idade + " anos, logo já é Maior de idade");
    }
}

}

//Exercicio 3

public class Produto {

private String nome;
private double preco;

//Criando um construtor personalizado
public Produto(String nome, double preco) {
    this.nome = nome;
    this.preco = preco;
}

// Get e Set - Nome
public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

//Get e Set - Preço
public double getPreco() {
    return preco;
}

public void setPreco(double preco) {
    this.preco = preco;
}

//Metodo para aplicar o desconto
public double aplicarDesconto (double valor){
    return preco = preco - (preco / 100) * valor;
}

}

//Exercicio 5

public class Livro {

/* Como o titulo do livro e o nome do seu autor não mudam,
podemos utilizar o 'final' para garantir que uma vez definido
na classe principal, os valores recebidos nos atributos
por meio do construtor não mudem.
*/

//Atributos
private final String titulo;
private final String autor;

//Construtor
public Livro(String titulo, String autor){
    this.titulo = titulo;
    this.autor = autor;
}

//Metodo
public void exibirDetalhes(){
    System.out.println("Nome do livro: " + titulo);
    System.out.println("Nome do autor: " + autor);
}

}

Pulei o exercício 4, pois acebei copiando a resolução do instrutor. Mas no final consegui entender a lógica por trás da resolução. No caso do exercício 5, é uma boa praticar escrever da forma que eu fiz, usando o 'final' ? Tendo em vista que o nome do autor e o titulo do livro são imutáveis.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Jefferson! Como vai?

Com base no que você explicou, é ótimo ver que você compreendeu o uso do modificador final para criar atributos imutáveis — ele realmente ajuda a garantir que o título e o autor não possam ser alterados depois de instanciados. Essa prática reforça o encapsulamento e a segurança do seu código.

Uma dica interessante para o futuro é usar toString() para exibir informações de forma mais organizada, sem precisar chamar System.out.println várias vezes. Veja este exemplo:


@Override
public String toString() {
    return "Nome do livro: " + titulo + ", Autor: " + autor;
}

Assim, ao imprimir o objeto, o método toString() já retorna os detalhes formatados automaticamente.

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