1
resposta

Duvida Sobre implementar a interface Autenticavel em Classe Conta

Olá ,

Minha dúvida seria na implementação de Autenticavel na classe Conta pelo motivo que usando a Composição, não precisaria implementar nesse caso , pois só usando a delegação(como foi falado no vídeo ) e retornando o valor do método como :

fun autentica(senha: Int): Boolean { return titular.autentica(senha) }

já não seria o suficiente ? , pois consegui fazer funcionar aqui . gostaria de saber se teria algum problema .

Atte,

1 resposta

Oi Kaianan, tudo bem?

Bem observado o seu ponto! De uma maneira resumida, você pode fazer dessa maneira, porém, existem algumas observações importantes nessa abordagem.

Nesse caso, a intenção foi adicionar o comportamento de autenticação na conta, logo, a criação de um método é o que determina que a conta tem esse comportamento.

Mesmo que a implementação seja feita pelo titular, quem está usando não tem nenhum tipo de visibilidade e mantemos a boa prática do encapsulamento dos comportamentos.

Dessa forma, possibilitamos a modificação da implementação a qualquer momento, como por exemplo, se for necessária a modificação da implementação para usar algo diferente do titular, toda chamada da autenticação no software, que usa a implementação da conta, não será afetada...

Em outras palavras, com essa abordagem possibilitamos maior flexibilidade para mudanças de implementação.

[]s