1
resposta

Mãos na massa

class Programa:
    def __init__(self, nome, ano):
        self._nome = nome.title()
        self.ano = ano
        self._likes = 0

    @property
    def nome(self):
        return self._nome

    @property
    def likes(self):
        return self._likes

    @nome.setter
    def nome(self, nome):
        self._nome = nome.title()

    def dar_like(self):
        self._likes += 1


class Filme(Programa):
    def __init__(self, nome, ano, duracao):
        super().__init__(nome, ano)
        self.duracao = duracao

    def __str__(self):
        return f"{self.nome} - {self.duracao} min - {self.likes} Likes"


class Serie(Programa):
    def __init__(self, nome, ano, temporadas):
        super().__init__(nome, ano)
        self.temporadas = temporadas

    def __str__(self):
        return f"{self.nome} - {self.temporadas} Temporadas - {self.likes} Likes"


if __name__ == '__main__':
    vingadores = Filme("Vingadores: guerra infinita", 2018, 160)
    vingadores.dar_like()

    atlanta = Serie("atlanta", 2018, 2)
    atlanta.dar_like()
    atlanta.dar_like()

    playlist = [atlanta, vingadores]
    for programa in playlist:
        print(programa)
1 resposta

Oi Henrique, tudo bem?

Agradeço por compartilhar o código com a gente. Parabéns por praticar programação e criar essa estrutura de classes!

Analisando o código, vejo que você definiu uma classe base Programa, que possui atributos como nome, ano e quantidade de likes. Você também implementou um método dar_like() para incrementar a contagem de likes.

Em seguida, você criou as classes Filme e Serie, que herdam da classe Programa. Cada uma dessas classes adiciona atributos específicos, como duração para filmes e número de temporadas para séries. Além disso, você implementou o método __str__ nessas classes para retornar uma representação em string formatada.

No trecho final do código, você criou instâncias de filmes e séries, atribuiu likes a eles e os adicionou a uma lista de reprodução. Em seguida, você itera sobre a lista e imprime as informações de cada programa.

É um código bem organizado e de fácil compreensão. Você demonstrou um bom entendimento de herança e polimorfismo ao criar as subclasses Filme e Serie baseadas na classe Programa. Continue praticando e explorando novos conceitos da programação orientada a objetos.

Um abraço e bons estudos.