Olá!Eu nn entendi pq q tem o "r." r = Retangulo(7,6)
, r.area = 7
sendo que já teriamos o valor da área e o x e y
Olá!Eu nn entendi pq q tem o "r." r = Retangulo(7,6)
, r.area = 7
sendo que já teriamos o valor da área e o x e y
Olá Samuel!
A utilização do "r." antes de "r = Retangulo(7,6)" e "r.area = 7" indica que estamos acessando atributos e métodos da classe Retangulo por meio do objeto "r".
No caso do código apresentado, a classe Retangulo possui um atributo privado chamado "__area", que é calculado no momento da criação do objeto com base nos valores de "x" e "y". Esse atributo é encapsulado, o que significa que não deve ser acessado diretamente fora da classe.
Ao executar r.area = 7
, estamos tentando atribuir um novo valor ao atributo "__area", mas não estamos conseguindo acessá-lo diretamente por ser privado. Portanto, essa atribuição não afetará o valor de "__area" dentro do objeto "r".
Ao chamar r.obter_area()
, o método retorna o valor de "__area" que foi calculado no momento da criação do objeto, ou seja, o valor original de 42.
A resposta correta é a alternativa D) Imprime o valor de 42, pois o encapsulamento impede a alteração direta da variável 'area'.
Espero ter ajudado e bons estudos!