Vi que outra pessoa teve a mesma dúvida que eu. Mesmo vendo a resposta, meu cérebro de fusquinha ainda está pegando no tranco e não entendi, rsrs. Pois é, se eu não me confundi ou não enxerguei a 'pegadinha', caso a B esteja correta quanto ao horário, a C está correta quanto à banda. Não? Na B, trocou-se apenas
def get_horario(self):
return self.__horario
por
def __obter_horario(self):
return self.__horario
Já na opção C, trocou-se apenas
def get_banda(self):
return self.__banda
por
def __obter_banda(self):
return self.__banda
Então, se a B está sendo considerada correta, a C também não deveria estar? Outra coisa, o enunciado da questão B me pareceu confuso ao dizer: "Substituir os métodos get_horario e set_horario" e ao mesmo tempo "Manter o método set_horario para atualizar o valor do atributo." Afinal, substitui ou mantêm? Como meu cérebro bugou, pedi socorro à Luri, que bugou junto, kkkk:
LURI: "Peço desculpas pelo equívoco na minha resposta anterior. Você está correto, a letra B substitui apenas o método get_horario por um método privado __obter_horario que retorna o valor do atributo __horario, mantendo o método set_horario inalterado.
A resposta correta para o exercício seria a letra A, que propõe criar métodos privados para cada atributo, utilizando o prefixo "__" antes dos nomes dos métodos. Esses métodos seriam responsáveis por retornar os valores dos atributos e atualizá-los.
Mais uma vez, peço desculpas pelo equívoco e agradeço por apontar o erro."
E aí, meus amigos? Estou sem saber.