Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Dúvida e Confirmação

Quando utilizamos os atributos diretamente da classe, ele pode ser alterado igualando a uma referência nova, caso tenhamos criado (no caso, r.area=7). E sempre o melhor modo, seria buscar os valores por algum método, correto?

Uma outra dúvida: Por que foi colocado a área = x*y na primeira parte do código, e não no método "obter_area"? Não seria mais organizável deixar fórmulas em métodos?


class Retangulo:

    def __init__(self, x, y):
        self.__x = x
        self.__y = y
        self.__area = x * y

    def obter_area(self):
        return self.__area


r = Retangulo(7,6)
r.area = 7

print(r.area)
print(3*' * *')
print(r.obter_area())
print(3*' * *')
1 resposta
solução!

Sobre a primeira dúvida:

  • o ideal é criar métodos para acessar ou definir os valores dos atributos privados de uma classe.

Sobre a segunda dúvida:

  • o cálculo foi colocado no método construtor para ser calculado logo na criação do objeto.
  • sendo assim, o método obter_area() tem somente a função de acessar o valor que já foi calculado na criação do objeto.