Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Obtendo o tempo total de aulas

Preferi declarar uma variável tempoTotal para minha classe Curso! E realizar a soma diretamente no método adiciona. Quais os prós e Contras dessa minha implementação?

public class Curso {
    private String nome;
    private String instrutor;
    private List<Aula> aulas = new LinkedList<Aula>();
    private int tempoTotal;
    public Curso(String nome, String instrutor) {
        this.nome = nome;
        this.instrutor = instrutor;
    }

    public String getNome() {
        return nome;
    }

    public String getInstrutor() {
        return instrutor;
    }

    public List<Aula> getAulas() {
        return Collections.unmodifiableList(aulas);
    }

    public void adiciona(Aula aula) {
        aulas.add(aula);
        tempoTotal = getTempoTotal() + aula.getTempo();
    }

    @Override
    public String toString() {
        return "[" + "Curso: " + nome + ", " + getTempoTotal() + "]";
    }

    public int getTempoTotal() {
        return tempoTotal;
    }
}
1 resposta
solução!

A desvantagem seria se você tivesse um método set para o atributo aulas (mas não é o caso).

Da forma que você fez a vantagem é que não precisa percorrer a lista de aulas toda vez que precisar pegar o tempoTotal :)

Abraço!