3
respostas

Tipar o parâmetro de um método

Olá! Durante as aulas de OO com Python, foi implementado um método na classe Conta chamado transferir, como abaixo:

class Conta:

    //omitindo código

    def deposita(self, valor):
        self.__saldo += valor

    def saca(self, valor):
        self.__saldo -= valor

    def transferir(self, valor, destino):
        self.saca(valor)
        destino.deposita(valor)

É possível definir um tipo para parâmetro destino no método transferir para impedir que qualquer um que use este método não passe qualquer coisa ali, já que nele é invocado um método deposita, pois se for informado qualquer coisa que não possui esse método vai ocorrer um erro, e seguindo a lógica do negócio, o método espera um destinatário que seja uma instancia da classe Conta. Sei que no Python não existe tipagem de valor em atributo, pois é uma característica da linguagem poder ter liberdade de atribuir/retornar qualquer tipo de valor.

Quem puder sanar essa minha dúvida, desde já agradeço!

3 respostas
Removido a pedido do usuario.

Não existe uma forma que eu possa implementar isso na definição de parâmetros do método ao invés de fazer isso programaticamente dentro do método?

Removido a pedido do usuario.