1
resposta

Mãos na massa: Criando getters e setters

class Conta:
    def __init__(self,numero, titular, saldo, limite):
        print(f"Construindo objeto ...{self}  ")
        self.__numero=numero
        self.__titular=titular
        self.__saldo=saldo
        self.__limite=limite
    pass
    def extrato(self):
        print(f"O saldo de {self.__saldo} é do titular {self.__titular}")

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

    def saca(self,valor):
        if self.__saldo - valor < 0:
            print(f"O valor de saque informado não é valido com o seu saldo atual, o saldo atual é {self.__saldo:02f}")
        else:
            self.__saldo-=valor

    def transfere(self,valor,destino):
        if self.__saldo - valor < 0:
            print(f"O seu saldo é insuficiente para realizar essa transferência. Saldo atual R${self.__saldo:02f})
        else:
            self.saca(valor)
            destino.deposito(valor)
    def get_saldo(self):
        return self.__saldo
    def get_titular(self):
        return self.__titular
    def get_limite(self):
        return self.__limite
    def set_limite(self,limite):
        self.__limite=limite

Decide não colocar o setter para o atributo "saldo", pois estou seguindo com a ideia que eu já possuo metodos (saque/deposito) que já podem realizar essa atividade.

1 resposta

Olá Lucas! 🙂

Muito bom! Os getters e setters são bem conhecidos dentro da Orientação a Objetos de várias linguagens de programação e são considerados os métodos padrões. Porém, é necessário usar o bom senso ao analisar cada situação específica de programação. Nesse caso espcífico trazido por você e abordado na aula, de fato, não é necessário o método setter para o atributo saldo.

Continue os bons estudos! 😉

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!