Lezione 14-Introduzione alla programmazione ad oggetti…
Febbraio 7, 2007
Python come i linguaggi ibridi(tipo C++) ci permette di implementare sia la programmazione procedurale che quella ad oggetti.
Quando scriviamo un programma con la programmazione procedurale ci serviamo di funzioni,procedure e strutture dati come liste,dizionari,etc..se decidiamo di modificare una parte del programma probabilmente dovremmo apportare delle modifiche strutturali ad una buona parte di esso perchè funzioni.
La programmazione ad oggetti invece ci permette un riutilizzo di codice senza apportare alcuna modifica,vediamo in che senso.
Un programma scritto tramite la programmazione orientata ad oggetti,è costituito da un’insieme di oggetti che interagiscono tra loro ognuno avente una propria struttura dati,siccome ogni oggetto funziona in “modo autonomo”,la programmazione ad oggetti si presta per lo sviluppo di software in team,in quanto ognuno può sviluppare un componente(oggetto)del programma senza preoccuparsi della struttura degli altri oggetti che ne faranno parte.
Per creare un’oggetto dobbiamo definire la classe d’appartenenza,definendo le funzioni dell’oggetto(metodi)e le variabili contenute in esso.
Supponiamo di volere scrivere un’archivio dei computer di un’uffico:
variabili:
nome computer
sistema operativo
ram
hard disk
metodi:
modifica sistema operativo
modifica ram
modifica hard disk
Una delle funzioni più importanti delle classi è l’ereditarietà , cioè se già abbiamo una classe con dei metodi che ci possono servire per un’applicazione possiamo prendere la classe che abbiamo già e creare una classe figlia che ha gli stessi metodi della classe madre a cui poi possiamo aggiungere altri metodi.
Ad esempio supponiamo che la classe madre sia la classe computer scritta sopra ,creiamo un’altra classe (chiamata computer2)che oltre ad avere le variabili ed i metodi sopra citati abbia:
variabili:
processore
scheda video
scheda audio
metodi:
cambia scheda video
Entry Filed under: Python. .
Trackback this post | Subscribe to the comments via RSS Feed