Olá, Thiago! Entendo que a questão possa ter parecido confusa para você, mas vamos tentar esclarecer juntos.
Na opção (B), quando menciona "Substituir os métodos get_horario e set_horario por um método privado __obter_horario", a substituição se refere apenas ao método get_horario
, que retorna o valor do atributo __horario
. O método set_horario
não está sendo substituído, ele continua existindo para atualizar o valor do atributo __horario
.
Então, na verdade, a frase poderia ser reescrita para maior clareza da seguinte forma: "Substituir o método get_horario
por um método privado __obter_horario
que retorna o valor do atributo __horario
. Manter o método set_horario
para atualizar o valor do atributo."
Aqui está um exemplo de como a classe ficaria:
class Apresentacao:
def __init__(self, horario, banda):
self.__horario = horario
self.__banda = banda
def __obter_horario(self):
return self.__horario
def set_horario(self, horario):
self.__horario = horario
def get_banda(self):
return self.__banda
def set_banda(self, banda):
self.__banda = banda
Neste caso, o método __obter_horario
é privado e só pode ser acessado dentro da classe Apresentacao
. O método set_horario
é público e pode ser usado para alterar o valor de __horario
de fora da classe.
Espero ter ajudado e bons estudos!