Curso Avançado de Desenvolvimento Python
Capítulo
>
Nível
Classes Avançadas
Sobrescrita de Método
Objetivo
Engarrafar óleo para cozinhar carne criando objetos com métodos sobrescritos.
Há um pouco de óleo que você pode usar para cozinhar alguns vegetais, mas ele precisa ser engarrafado primeiro para facilitar o uso. Usar classes e criar objetos seria um método eficaz para realizar isso, assim como no nível anterior. Dito isso, também existem maneiras de utilizar melhor a herança de objetos dentro de uma classe, como ter a classe filha sobrescrevendo funções na classe pai.
# Parent Class
class oil_bottle:
label = ""
async def label_bottle(self):
await player.read()
# Child Class
class fill_bottle(oil_bottle):
def fill_bottle(self):
player.place("empty bottle")
player.collect("oilbottle")
async def label_bottle(self):
await player.write(self.label)
No código acima a classe filha sobrescreve a função label_bottle() na classe pai para reescrever os rótulos nas garrafas. Isso também permite que você configure uma mensagem personalizada utilizando funções async.
Para começar, pegue todas as quatro (4) garrafas vazias no campo, e, uma vez coletadas, caminhe até os X escuros e crie objetos utilizando as classes.
Há quatro (4) tipos de óleo a serem engarrafados, que correspondem aos tapetes coloridos em frente às máquinas: olive_oil é engarrafado no tapete amarelo, avocado_oil é engarrafado no tapete verde, canola_oil é engarrafado no tapete azul, e vegetable_oil é engarrafado no tapete vermelho.
Crie objetos para cada um dos óleos, escreva o seu rótulo e ative as funções da classe filha label_bottle() e fill_bottle(), por exemplo:
olive_oil = fill_bottle() olive_oil.label = "Olive Oil" olive_oil.label_bottle() olive_oil.fill_bottle()
Cada um dos rótulos deve conter o nome capitalizado de cada um dos óleos, conforme: "Olive Oil", "Avocado Oil", "Canola Oil" e "Vegetable Oil".
Depois de engarrafar os óleos, caminhe até o X claro em frente a um saco e use a função collect() para pegar "onion" do saco. Em seguida, caminhe até o X dourado e use o óleo para cozinhar a cebola, armazenando-os juntos em uma lista chamada ingredients, assim: ingredients = ["Olive Oil", "onion"]. Use a função place() com a lista para cozinhar os ingredientes.
Por fim, coloque os óleos restantes em uma lista chamada oils, assim: oils = ["Avocado Oil","Canola Oil","Vegetable Oil"]. Caminhe até o X claro no tapete roxo, de frente para o armário e use a função place() com a lista de óleos para armazenar os itens no armário e completar o nível.