Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como também senti falta de exemplos de classes novas, fiz esse exercício e gostaria de deixar disponível. Mas preciso de um Feedback, pra entender se estou no caminho certo da O.o

#Como também senti falta de exemplos de classes novas, fiz esse exercício e gostaria de deixar disponível. Mas preciso de um Feedback, pra entender se estou no caminho certo da O.o

#no terminal, não se esqueça de criar o objeto com os valores dos atributos.

#ex: bomba1 = BombaCombustivel("Diesel", 6, 500)

class BombaCombustivel:

    def __init__(self, tipo_combustivel, valor_litro, quantidade_combustivel): #a principior 3 atributos minimos do exercicio
        self.__tipo_combustivel = tipo_combustivel
        self.__valor_litro = valor_litro
        self.__quantidade_combustivel = quantidade_combustivel


    def abastecer_por_valor(self, valor):  # método onde é informado o valor a ser abastecido e mostra a quantidade de litros que foi colocada no veículo
        litros_abastecidos = valor / self.__valor_litro
        print("Foram abastecidos {:.3f} litros".format(litros_abastecidos))

    def abastecer_por_litro(self, litros): #método onde é informado a quantidade em litros de combustível e mostra o valor a ser pago pelo cliente.
        valor_pagamento = litros * self.__valor_litro
        print("Valor a ser pago R${:.2f}".format(valor_pagamento))

    def alterar_valor(self, valor_petroleo_hoje):  # altera o valor do litro do combustível.
        #deve-se inserir o valor do petroleo em reais, cotação real. Um fator redutor dará o valor de qualquer tipo combustivel
        #ao atualizar o preço do cumbustivel, tanto a cotação quanto e o preço especifico mudarão

        redutor_gasolina = 90
        redutor_alcool = 125
        redutor_diesel = 100
        preço_do_combustivel_1 = valor_petroleo_hoje / redutor_gasolina
        preço_do_combustivel_2 = valor_petroleo_hoje / redutor_alcool
        preço_do_combustivel_3 = valor_petroleo_hoje / redutor_diesel

        if (self.__tipo_combustivel == str("Gasolina")):
            self.__valor_litro = preço_do_combustivel_1
            print("Valor da gasolina atualizado para: {:.3f}".format(preço_do_combustivel_1))

        elif (self.__tipo_combustivel == str("Alcool")):
            self.__valor_litro = preço_do_combustivel_2
            print("Valor da Alcool atualizado para: {:.3f}".format(preço_do_combustivel_2))

        else:
            self.__valor_litro = preço_do_combustivel_3
            print("Valor da Diesel atualizado para: {:.3f}".format(preço_do_combustivel_3))


    def altera_combustivel(self, escolhe_combustivel): #troca o combustivel na bomba

        if (escolhe_combustivel == str("Gasolina")):
            self.__tipo_combustivel = escolhe_combustivel
            print("Combustivel selecionado: {}".format(escolhe_combustivel))
            print("Altere o valor do Combustivel")

        elif (escolhe_combustivel == str("Alcool")):
            self.__tipo_combustivel = escolhe_combustivel
            print("Combustivel selecionado: {}".format(escolhe_combustivel))
            print("Altere o valor do Combustivel")

        else:
            self.__tipo_combustivel = escolhe_combustivel
            print("Combustivel selecionado: {}".format(escolhe_combustivel))
            print("Altere o valor do Combustivel")


    def alterar_quantidade_combustivel(self, abastece_bomba):   #abastecer a bomba. Aumenta o nivel de combustivel na bomba
        self.__quantidade_combustivel += abastece_bomba

    #@PROPERTY DA CLASSE BombaCombustivel

    @property
    def tipo_combustivel(self):
        return self.__tipo_combustivel

    @property
    def valor_litro(self):
        return self.__valor_litro

    @property
    def quantidade_combustivel(self):
        return self.__quantidade_combustivel
2 respostas
solução!

Olá Rodrigo, tudo bem com você?

Peço desculpas pela demora em lhe responder.

O código ficou bem funcional, a criação de códigos de programação que podem ser aplicados no dia a dia é uma boa forma de visualizarmos o que estamos aprendendo e fixar esse aprendizado. Fico feliz que tenha compartilhado com a comunidade do fórum o seu desenvolvimento.

Para aprimorar o seu conhecimento sobre a orientação a objetos, deixo duas recomendações, a primeira é um artigo explicando com conceito de Código sólido na orientação a objetos:

E a segunda recomendação é um capítulo de um podcast, nele será feito uma abordagem sobre as boas práticas na orientação a objetos.

Caso tenha dúvidas, encontro-me à disposição.

Abraços e bons estudos.

Fala Felippe, obrigado pelo retorno e pela indicação.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software