cami-la / desafio-poo-dio

874 stars 1.35k forks source link

Melhorias nas Classes `Bootcamp`, `Curso`, `Mentoria` e `Dev` #67

Open lukaspersy opened 1 month ago

lukaspersy commented 1 month ago

Melhorias e Atualizações nas Classes Bootcamp, Curso, Mentoria e Dev

Olá!

Realizei algumas melhorias e atualizações nas classes Bootcamp, Curso, Mentoria e Dev. Abaixo estão as principais modificações realizadas e os testes realizados para garantir que as mudanças funcionam corretamente.

Modificações Realizadas

1. Classe Bootcamp

Código Atualizado:


public class Bootcamp {
    private final String nome;
    private final String descricao;
    private final LocalDate dataInicial;
    private final LocalDate dataFinal;
    private final Set<Dev> devsInscritos = new HashSet<>();
    private final Set<Conteudo> conteudos = new LinkedHashSet<>();

    public Bootcamp(String nome, String descricao) {
        this.nome = nome;
        this.descricao = descricao;
        this.dataInicial = LocalDate.now();
        this.dataFinal = dataInicial.plusDays(45);
    }

    public String getNome() {
        return nome;
    }

    public String getDescricao() {
        return descricao;
    }

    public LocalDate getDataInicial() {
        return dataInicial;
    }

    public LocalDate getDataFinal() {
        return dataFinal;
    }

    public Set<Dev> getDevsInscritos() {
        return devsInscritos;
    }

    public Set<Conteudo> getConteudos() {
        return conteudos;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Bootcamp bootcamp = (Bootcamp) o;
        return nome.equals(bootcamp.nome) && descricao.equals(bootcamp.descricao);
    }

    @Override
    public int hashCode() {
        return Objects.hash(nome, descricao);
    }

    @Override
    public String toString() {
        return "Bootcamp{" +
                "nome='" + nome + '\'' +
                ", descricao='" + descricao + '\'' +
                ", dataInicial=" + dataInicial +
                ", dataFinal=" + dataFinal +
                ", devsInscritos=" + devsInscritos +
                ", conteudos=" + conteudos +
                '}';
    }
}