1
resposta

Dúvida com Herança

Boa Tarde !

Estou fazendo um programa, mas quando tento utilizar as funções que herdadas, nada acontece ! Podem me dar uma ajuda, por favor ?

Quando eu acesso pela classe Poupança, ele soma e subtrai, quando tento acessar pela classe Conta, nada acontece ! Podem me ajudar ?

class Poupanca:

    def __init__(self):
        self.saldo = 0
        self.extrato = []

    def aplicar(self, valor):
        self.saldo += valor
        self.extrato.append(("Aplicou", f"R$ {valor}"))


class Contas(Poupanca):    
    def add_contas_corrente(self):
        print("3 - Acionar na Poupança")
        escolha = int(input("O que deseja fazer: "))
        elif escolha == 3:
            if self.balanco[self._banco][0] <= 0:
                print("Saldo Indisponível")
            else:
                valor = float(input("Digite o valor: R$").replace(",", "."))
                super().aplicar(valor)
                self.balanco[self._banco][0] -= valor
                self.contas_corrente.append(("Aplicou", f"R${valor}"))
        else:
            pass
1 resposta

Olá Marcus, tudo bem com você?

Peço desculpas pela demora em lhe responder.

Através do exemplo de código que você deixou na sua pergunta, não foi possível realizar o teste, pois teve ausência de alguns métodos, então, não ficou clara a intenção do código. Para que eu te auxilie de forma direcionada, peço que compartilhe o código completo conosco.

Porém, abaixo deixo um exemplo de código utilizando a herança de classe, temos a classe Conta (mãe) e a classe Investimento(filha). A classe filha herda três atributos da classe mãe: numero, cliente e saldo, essa herança é informada através do super().__init__(numero, cliente, saldo).

class Conta:
    def __init__(self, numero, cliente, saldo):
        self.numero = numero
        self.cliente = cliente
        self.saldo = saldo


class Investimento(Conta):
    def __init__(self, numero, cliente, saldo, juros):
        super().__init__(numero, cliente, saldo)
        self.juros = juros

    def rende_mes(self, meses):
        juros_mensal = self.juros / 12
        juros_mensal *= meses
        juros_mensal /= 100
        juros_mensal += 1
        self.saldo = self.saldo * juros_mensal

    def extrato(self):
        return f'O saldo atual é: {self.saldo}'

obj_investimento = Investimento(123, "Felippe", 1000, 0.5)
obj_investimento.extrato()
obj_investimento.rende_mes(12)
obj_investimento.extrato()

Para saber um pouco mais sobre herança de classes recomendo a leitura dos seguintes artigos:

Coloco-me à disposição em caso de dúvidas.

Abraços e bons estudos.

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