Diamo un’introduzione sulla programmazione ad oggetti prima di affrontarla con Python.
Con il termine di OOP, ovvero Object Oriented Programming, intendiamo un paradigma di programmazione. In questo paradigma un programma può essere visto come un insieme di oggetti che interagiscono tra loro.
Finora, per lo sviluppo dei nostri programmi, abbiamo seguito un approccio procedurale e/o funzionale.
Ricordiamo che nell’approccio procedurale si eseguono le istruzioni secondo un ordine predefinito per ottenere il risultato desiderato, partendo dai dati di input.
Nell’approccio funzionale abbiamo utilizzato le funzioni da poter poi richiamare all’occorrenza anche in un programma principale detto main().
Adesso, nella programmazione orientata agli oggetti seguiremo un approccio che segue l’idea di utilizzare delle unità funzionali autonome.
Chiaramente i vari approcci possono essere utilizzati assieme.
HP PC fisso Elite 8200 - Intel iCore i5 Quad Core - RAM 4GB - HDD 500GB - Windows 10 Pro - (ricondizionato)
76,00 € (a partire da 18 Marzo 2024 14:59 GMT +01:00 - Altre informazioniProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)2022 Apple MacBook Pro with Apple M2 (13-pollici, 8GB RAM, 256GB SSD) (QWERTY English) Grigio Siderale (Recondizionato)
1.130,05 € (a partire da 18 Marzo 2024 14:59 GMT +01:00 - Altre informazioniProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Firma digitale Wacom DTU-1031X 2540lpi (Linee per Pollice) 222.72 x 125.28mm USB Nero, Grigio tavoletta Grafica (Ricondizionato)
200,00 € (a partire da 18 Marzo 2024 15:18 GMT +01:00 - Altre informazioniProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Disponibile il libro su Python “50 Algoritmi per imparare Python”
La programmazione ad oggetti – OOP
Questo tipo di programmazione prende nome proprio dall’elemento su cui si basa, ovvero l’oggetto.
Un oggetto rappresenta dunque l’entità del problema. Infatti in esso possiamo memorizzare le informazioni che riguardano il suo stato ed associare un insieme di operazioni che esso può compiere.
Un oggetto può avere dunque degli attributi e dei metodi.
Gli attributi sono gli elementi che caratterizzano l’oggetto, cioè che lo descrivono.
I metodi invece sono le funzionalità che l’oggetto mette a disposizione.
Un classico esempio può essere rappresentato dall’oggetto auto. Questo oggetto può avere infatti degli attributi e dei metodi, facilmente classificabili.
Gli attributi possono ad esempio essere:
- Casa_Produttrice
- Cilindrata
- Numero_Porte
- Alimentazione
- Potenza
- ecc…
Mentre i metodi possono essere ad esempio:
- Cambio_Marcia
- Accelera
- Frena
- Rifornisci
- ecc…
Come possiamo notare gli attributi sono le caratteristiche dell’auto, mentre i metodi sono le azioni che si possono esercitare sull’auto come accelerare, frenare, ecc.
Disponibile il libro su Python “50 Algoritmi per imparare Python”
La programmazione ad oggetti – Classe
Diamo un altro concetto importante per la programmazione ad oggetti, ovvero quello di classe.
La classe è la descrizione astratta dell’oggetto attraverso i suoi attributi e metodi. Infatti, per poter utilizzare un oggetto occorre creare una sua istanza.
Per rappresentare una classe si può usare anche uno schema grafico, ovvero un diagramma della classe che serve a identificare il nome, i suoi attributi e i suoi metodi.
Come ad esempio questo diagramma rappresentato nella tabella sotto:
Auto |
---|
Attributi |
Casa_Produttrice Cilindrata Numero_Porte Alimentazione |
Metodi |
Cambio_Marcia Accelera Frena Rifornisci |
Dopo aver definito una classe, nella programmazione ad oggetti, possiamo rappresentare le sue istanze.
Ad esempio:
Auto1
(Ricondizionato) TP-Link M7000 Saponetta 4G LTE Cat4 150Mbps, WiFi N300Mbps, Router con SIM, Portatile, Batteria Ricaricabile, Configurazione Semplice, Red DOT Design Award
39,99 € (a partire da 18 Marzo 2024 14:59 GMT +01:00 - Altre informazioniProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Apple iPad Air 2 64GB Wi-Fi - Grigio Siderale (Ricondizionato)
206,89 € (a partire da 18 Marzo 2024 15:18 GMT +01:00 - Altre informazioniProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Apple 2020 iPad 10.2 (8th Gen) 32GB Wi-Fi - Grigio Siderale (Ricondizionato)
284,00 € (a partire da 18 Marzo 2024 15:18 GMT +01:00 - Altre informazioniProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Casa_Produttrice: Fiat
Cilindrata: 60 kw
Numero_Porte: 5
Alimentazione: Diesel
Auto2
Casa_Produttrice: Maserati
Cilindrata: 90 kw
Numero_Porte: 5
Alimentazione: Diesel
Abbiamo definito così delle istanze dell’oggetto auto specificando i suoi attributi, in questo modo possiamo identificare le due auto facilmente ed utilizzarle all’interno dei nostri programmi.
Disponibile il libro su Python “50 Algoritmi per imparare Python”
Conclusioni
In questa lezione abbiamo semplicemente fornito un’introduzione sulla programmazione orientata agli oggetti, nelle prossime lezioni approfondiremo in dettaglio questi concetti.
Alcuni link utili
Indice tutorial sul linguaggio Python
Operazioni con i file in Python
Introduzione ai dizionari in Python
Quali sono i metodi delle liste