1. Nessa aula vamos aprender a utilizar composição dentro do contexto de Orientação a Objetos.
  2. Composição é uma técnica de programação orientada a objetos para estabelecer relacionamentos entre classes e objetos.
  3. O relacionamento é do tipo: “Classe x faz parte da classe y”. Exemplo: “Papagaio faz parte de um Zoológico”.
  4. Para praticar, vamos criar o arquivo 13-composicao.py.
class Animal:
    def __init__(self, name, category):
        self.name = name
        self.category = category
    
class Fish(Animal):
    race = ""
    
class Parrots(Animal):
    color = ""
    
class Zoo:
    def __init__(self):
        self.animals_dict = {}
        
    def add_animal(self, animal):
        self.animals_dict[animal.name] = animal.category
        
    def total_of_category(self, category):
        result = 0
        for animal in self.animals_dict.values():
            if animal == category:
                result += 1
        return f"No nosso zoológico temos {result} quantidade de {category}"

zoo = Zoo()
peixe = Fish("Nemo", "mamíferos")
print(vars(peixe))
papagaio = Parrots("Louro", "aves")
print(vars(papagaio))
zoo.add_animal(peixe)
zoo.add_animal(papagaio)
print(zoo.total_of_category("aves"))
print(zoo.total_of_category("mamíferos"))
  1. Para executar o arquivo, vamos executar o comando: python .\13-composicao.py.

Img1.png