Qual a diferença entre criar um atributo ArrayList na classe de Pagamentos e estender a classe para ArrayList?
Qual a diferença entre criar um atributo ArrayList na classe de Pagamentos e estender a classe para ArrayList?
Boa noite Bruna,
Resposta curta
Criando atributo, você está usando composição; estendendo a classe ArrayList você está usando herança.
Resposta mais detalhada
Criando atributo, você está usando composição; estendendo a classe ArrayList você está usando herança.
Ao fazer uso da herança, a sua classe terá todos os métodos da classe ArrayList. Caso você precise de todos e/ou queira alterar boa parte deles, é uma boa abordagem. Caso contrário, terá acesso sem necessidade a métodos que não usará.
Usando a composição, você não fica tão presa à classe mãe, como no exemplo anterior. Pode usar só os métodos que desejar. Eles podem ser os mesmos da ArrayList, ou podem ter uma implementação completamente diferente, conforme sua necessidade.
Mais links que discorrem sobre o assunto:
Ficou claro? Espero tê-la ajudado.
Abraço.