1
resposta

Duvida sobre a resolução do desafio CodeChella

Na questão abordam sobre refatorar o código utilizando métodos privados, porém fiquei na dúvida sobre uma resposta que consideraram correta:

Apontaram a questão B como correta:

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

#Aqui não deveria ser com "__" dois underlines? tipo __obter_banda
    def get_banda(self):
        return self.__banda
    
    def set_banda(self, banda):
        self.__banda = banda

Minha dúvida é sobre o método def get_banda(self), não deveria ser algo com "" tipo: def __obter_banda(self)

Ou apenas incluir get ja torna privado?

1 resposta

Oii, Andre! Tudo bem? Espero que sim!

Diante desse contexto, não, Andre. A inclusão do prefixo __ (dois underlines) torna o método privado, mas o uso do prefixo get não é necessário para tornar um método privado. O uso do prefixo get é uma convenção para indicar que o método é responsável por retornar o valor de um atributo, mas não é obrigatório.

Então, o método def get_banda(self) está correto e não precisa ser alterado para def __obter_banda(self).

Espero ter te ajudado a entender melhor.

Bons estudos, Andre!