Respostas
Parece que você está estudando polimorfismo em C#. O código apresentado demonstra um exemplo de polimorfismo, onde uma variável do tipo `ContaCorrente` está sendo passada como argumento para um método que espera um parâmetro do tipo `IConta`. Isso é possível devido ao polimorfismo, que permite que objetos de classes derivadas sejam tratados como objetos da classe base. No código fornecido, a classe `GeradorDeExtrato` possui um método `GeraExtrato` que recebe um parâmetro do tipo `IConta`. Ao criar uma instância de `GeradorDeExtrato` e uma instância de `ContaCorrente`, é possível chamar o método `GeraExtrato` passando a instância de `ContaCorrente`, aproveitando assim o polimorfismo. Essa prática é útil para reutilização de código e flexibilidade na programação, pois permite que diferentes tipos de objetos sejam tratados de forma genérica, desde que estejam relacionados pela hierarquia de classes ou interfaces.
Responda
Para escrever sua resposta aqui, entre ou crie uma conta