[Python] Oggetti senza attributi

Manlio Perillo manlio.perillo a gmail.com
Mer 9 Ott 2013 13:53:05 CEST


On 09/10/2013 12:46, Diego Barrera wrote:
> Nei libri sulla programmazione ad oggetti, di solito spiegano
> come questa sia nata dall'esigenza di incapsulare in uno spazio
> di nomi sia i dati che le operazioni relative a quei dati.

Se questa è l'esigenza della programmazione ad oggetti, chi l'ha 
inventata aveva dei seri problemi.

Per fortuna non è così, è questo problema in particolare è risolto 
benissimo (almeno per quello che mi risulta) senza l'uso del pattern:

    obj = some_class()
    obj.attribute
    obj.method()


> In pratica
> un oggetto sarebbe un' istanza di una classe che ha uno status
> proprio che e' definito dai suoi attributi (con rispetto parlando ;)).
>
> Se volessi avere un oggetto che ha solo metodi, cioe' un "aggeggio"
> che fa qualcosa ma non ha uno status e quindi attributi, e' corretto
> definirlo tramite una classe?
>

No.

> Se si', perche' poi dovrei poi istanziare questo oggetto?

Per poterlo usare, no?

> In fondo, quando istanzio un oggetto, creo solamente uno spazio di
> nomi per gli attributi in quanto i metodi "risiedono" nella classe..
>
> Se no, dovrei utilizzare un modulo o cosa?
>

Modulo.
Un modulo ti fornisce il namespace ma non lo stato privato.



Ciao  Manlio


Maggiori informazioni sulla lista Python