Alternativa E
Para criar uma propriedade (getter/setter) em Python, utilizamos o decorador @property para acessar o valor e @nome_da_propriedade.setter para modificar o valor.
Análise Detalhada
Em Python, o encapsulamento de atributos é frequentemente feito através de propriedades. O processo envolve três etapas principais correspondentes às lacunas mencionadas:
- Definição do Getter:
- Utiliza-se o decorador
@property logo acima do método que retorna o valor. - Exemplo:
@property
- Definição do Setter:
- O setter precisa estar vinculado ao mesmo nome da propriedade definida anteriormente.
- Sintaxe:
@nome_da_propriedade.setter. - No caso da questão, a propriedade chama-se
idade. Portanto, o decorador deve ser @idade.setter.
- Completando as lacunas:
- Se a estrutura do código for algo como:
@ [LACUNA 1]
def idade(self):
return self._idade
@ [LACUNA 2] [LACUNA 3]
def idade(self, valor):
self._idade = valor
property (para transformar o método em getter)idade (o nome da propriedade para vincular o setter)setter (o tipo de acesso desejado)
Tabela Comparativa das Opções
| Alternativa | Análise | Status |
|---|
| A | Usa classmethod (decorator para métodos de classe). Incorreto para propriedades de instância. | Errada |
| B | Usa staticmethod (decorator para métodos estáticos). Incorreto para propriedades. | Errada |
| C | Repete property e usa value. A sintaxe correta exige o nome da propriedade antes do .setter. | Errada |
| D | Usa property duas vezes. O segundo decorator deve começar com o nome da propriedade, não com a palavra property. | Errada |
| E | Segue a sintaxe exata: @property seguido de @idade.setter. | Correta |
Conclusão: A alternativa E preenche corretamente a lógica de definição de getters e setters no Python, utilizando o decorador property e vinculando o setter ao nome específico da propriedade (idade).