1
resposta

Classe extends ArrayList

Qual a diferença entre criar um atributo ArrayList na classe de Pagamentos e estender a classe para ArrayList?

1 resposta

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.