Meu código funcionou normalmente mesmo sem tirar os duplos underlines da frente dos atributos. fiquei na dúvida da razão de isso ter acontecido, já que na videoaula deu erro ao fazer isso. Poderiam me explicar?
aqui está o meu código:
class Programa:
def __init__(self, nome, ano):
self.__nome = nome.title()
self.ano = ano
self.__likes = 0
@property
def likes(self):
return self.__likes
@property
def nome(self):
return self.__nome
def dar_like(self):
self.__likes += 1
@nome.setter
def nome(self, novo_nome):
self.__nome = novo_nome.title()
class Filme(Programa):
def __init__(self, nome, ano, duracao):
super().__init__(nome, ano)
self.duracao = duracao
class Serie(Programa):
def __init__(self, nome, ano, temporadas):
super().__init__(nome, ano)
self.temporadas = temporadas
vingadores = Filme('vingadores - guerra infinita', 2018, 160)
atlanta = Serie('atlanta', 2018, 2)
vingadores.dar_like()
atlanta.dar_like()
atlanta.dar_like()
print(f"Nome: {vingadores.nome} - Ano: {vingadores.ano} - Duração: {vingadores.duracao} - Likes: {vingadores.likes}")
print(f"Nome: {atlanta.nome} - Ano: {atlanta.ano} - Temporadas: {atlanta.temporadas} - Likes: {atlanta.likes}")