Matemática Múltipla Escolha

Considerando o conceito de propriedade apresentado, complete as lacunas para criar a propriedade idade na classe Aluno.

Considerando o conceito de propriedade apresentado, complete as lacunas para criar a propriedade idade na classe Aluno.

  1. classmethod; classmethod; setter
  2. staticmethod; staticmethod; setter
  3. property; property; value
  4. property; property; setter
  5. property; idade; setter

Resolução completa

Explicação passo a passo

E
Alternativa E

Alternativa E - property; idade; setter

Análise do Conceito

A questão aborda o uso de Properties (propriedades) em Python, um recurso que permite gerenciar o acesso a atributos de classe de forma elegante, substituindo métodos diretos de "get" e "set".

No código apresentado, o objetivo é transformar o método idade em uma propriedade gerenciada. Para isso, utilizam-se decorators específicos:

  1. @property: Transforma um método em um getter. Ele permite acessar o atributo como se fosse uma variável simples (objeto.idade), em vez de chamar um método (objeto.idade()).
  2. @nome.setter: Permite definir o comportamento quando um novo valor é atribuído à propriedade.

Sintaxe Correta

Para implementar essa lógica corretamente no código da classe Aluno, a estrutura deve ser:

class Aluno:
    def __init__(self):
        self._idade = None  # Atributo protegido

    # 1. Uso do decorator @property para o GETTER
    @property
    def idade(self):
        return self._idade

    # 2. Uso do decorator @nome.setter para o SETTER
    # Onde 'idade' refere-se ao nome da propriedade criada acima
    @idade.setter
    def idade(self, valor):
        if valor < 0:
            raise ValueError("A idade não pode ser negativa.")
        self._idade = valor

Comparação das Alternativas

AlternativaAvaliaçãoMotivo
A❌ Incorretaclassmethod cria métodos ligados à classe, não a instâncias específicas.
B❌ Incorretastaticmethod cria métodos estáticos que não acessam self ou cls.
C❌ IncorretaNão existe decorator @value para setters em Python.
D❌ IncorretaO segundo decorator deve referenciar a propriedade (@idade.setter), não apenas repetir @property.
ECorretaSegue a sintaxe exata: @property para criar a propriedade e @idade.setter para definir o setter.

Portanto, a sequência que preenche corretamente as lacunas é property, seguida pelo nome da propriedade idade e finalmente a palavra-chave setter.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.