Curso Avançado de Desenvolvimento Python
Capítulo
>
Nível
Classes Avançadas
Herança de Objetos
Neste capítulo vamos explorar como tirar o máximo proveito das classes, aprendendo várias técnicas e funções específicas de classe que podem expandir as capacidades dos objetos em Python.
Neste nível vamos aprender sobre uma das características expandidas mais proeminentes das classes, a herança de objetos. Essa característica nos permite criar uma classe que herda suas funções de outra classe, permitindo-nos criar objetos mais dinâmicos, ao mesmo tempo em que mantemos um conjunto básico de propriedades.

Objetivo
Preencha e armazene garrafas de vinho usando herança de objetos com suas classes.
Esta sala é usada para encher garrafas de vinho, há algumas que ainda precisam ser engarrafadas e embaladas, e isso é melhor alcançado usando classes. As classes permitem que você crie objetos que podem possuir diversas características, neste caso, diferentes tipos de garrafas de vinho. Objetos criados usando classes podem herdar características de outras classes; estas são chamadas de classes filhas, enquanto as classes utilizadas como base para criar mais classes são chamadas de classes pais.
# Parent Class
class wine_bottle:
color = ""
def set_bottle(self):
player.place("empty bottle")
# Child Class
class fill_bottle(wine_bottle):
def fill_bottle(self):
player.combine(["empty bottle", self.color + " wine"])
player.speak("The bottle's color is: %s" % self.color)
player.collect(self.color + "bottle")
Há duas (2) classes configuradas para uso, a classe pai é utilizada para colocar uma garrafa na frente de um barril a ser preenchido, e a classe filha é utilizada para combinar e configurar a garrafa de vinho. A classe filha herda as propriedades da classe pai, permitindo que você crie variações das garrafas sem muito esforço.
Primeiro, caminhe e colete as quatro (4) garrafas vazias no topo do mapa. Depois de tê-las, caminhe até as marcas X escuras sobre os tapetes coloridos e enfrente os dispensadores de barril. Existem quatro (4) tapetes coloridos, representando a cor do vinho que você precisa criar naquela área, sendo elas: "green", "blue", "purple" e "yellow".
Nas marcas X escuras, crie um objeto usando a classe filha, por exemplo: green_bottle = fill_bottle(). Nomeie o objeto de acordo com a garrafa que você está tentando criar; uma vez feito isso, defina a cor do objeto e ative suas funções.
# Green bottle setup green_bottle.color = "green" green_bottle.set_bottle() green_bottle.fill_bottle()
Faça isso para todas as quatro (4) garrafas de vinho em suas respectivas marcas X. Uma vez que todas estejam configuradas e as garrafas tenham sido coletadas, caminhe até a marca X clara e abra a porta da adega usando a função open(), assim: player.open(). Em seguida, caminhe até a marca X dourada para armazenar as garrafas que você criou em um suporte para vinhos.
Coloque todas as garrafas em uma lista chamada bottles e, enquanto estiver de frente para o suporte para vinhos, use a função place() para armazenar a lista e, assim, completar o nível. São quatro (4) garrafas que você terá coletado: "green bottle", "blue bottle", "purple bottle" e "yellow bottle".