appunti3s:python_oggetti_e_attributi
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
appunti3s:python_oggetti_e_attributi [2018/10/18 21:51] – profpro | appunti3s:python_oggetti_e_attributi [2020/08/01 11:11] (current) – profpro | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Oggetti e attributi ====== | ||
+ | >> indice: [[appunti3s: | ||
+ | |||
+ | ===== Cosa faremo? ===== | ||
+ | |||
+ | Riprendiamo l' | ||
+ | |||
+ | ===== Prerequisiti ===== | ||
+ | |||
+ | Concetto di oggetto istanza, classe e metodo | ||
+ | |||
+ | I metodi di solito consentono al programmatore di eseguire delle azioni sugli oggetti. Vediamo in questo esempio il metodo title() | ||
+ | <file python 40.py> | ||
+ | import Tkinter | ||
+ | root = Tkinter.Tk() | ||
+ | root.title(“il mio programma”) | ||
+ | root.mainloop() | ||
+ | </ | ||
+ | Questo metodo imposta il titolo della finestra, memorizzandolo in una variabile/ | ||
+ | |||
+ | Secondo la programmazione orientata agli oggetti, gli attributi " | ||
+ | |||
+ | I metodi possono essere divisi in due categorie: | ||
+ | * metodi ispettori | ||
+ | * metodi manipolatori | ||
+ | |||
+ | * I primi sono usati per vedere il dato senza modificarlo. | ||
+ | * I secondi sono usati per modificare il dato (senza vederlo). | ||
+ | |||
+ | Questo modo di scrivere il programma può sembrare difficile e innaturale, ma permette di avere dei vantaggi nella manutenzione del programma. | ||
+ | |||
+ | ====Attributi pubblici e privati==== | ||
+ | Per rendere difficile modificare un attributo " | ||
+ | Viceversa i dati che non sono privati, sono detti pubblici, cioè chiunque vi può accedere da qualsiasi punto del programma. | ||
+ | |||
+ | In Python per rendere pubblico o privato qualcosa, basta usare una convenzione sul nome: | ||
+ | * %%__esempio1%% | ||
+ | * è la convenzione da usare per un elemento privato | ||
+ | * esempio2 | ||
+ | * è la convenzione da usare per un elemento pubblico | ||
+ | * %%__esempio3__%% | ||
+ | * è la convenzione da usare per un elemento built-in (pubblico), una convenzione che il programmatore non dovrebbe mai adottare | ||
+ | |||
+ | Nel caso in cui si tenti di invocare un metodo privato, si ottiene un errore poco chiaro: | ||
+ | |||
+ | AttributeError: |