Classi e Oggetti in Python
La Programmazione Orientata agli Oggetti (OOP) è un paradigma di programmazione che consente di organizzare e strutturare il codice in modo piĂš modulare e intuitivo. In OOP, i concetti del mondo reale sono rappresentati da âoggettiâ e âclassiâ, che contengono attributi (proprietaĚ) e metodi (azioni). Python è un linguaggio che supporta pienamente la programmazione orientata agli oggetti e ci offre strumenti potenti per creare, utilizzare e manipolare oggetti. Esploriamo i concetti fondamentali dellâOOP in Python.
Oggetti e Classi
In OOP, un âoggettoâ è unâistanza di una âclasseâ. Una âclasseâ è un modello o una definizione di un oggetto. Gli oggetti rappresentano elementi del mondo reale e le classi ne definiscono la struttura e il comportamento. Ad esempio, possiamo avere una classe âAutomobileâ che definisce le proprietĂ (marca, modello, colore) e i metodi (accelerare, frenare) di unâautomobile.
Creare una Classe
class Automobile:
marca = ""
modello = ""
colore = ""
def accelerare(self):
print("Sto accelerando")
def frenare(self):
print("Sto frenando")
Creare un Oggetto
auto1 = Automobile()
auto2 = Automobile()
ProprietĂ (Attributi) e Metodi
Le âproprietĂ â rappresentano gli attributi di un oggetto, come colore, marca, ecc. I âmetodiâ sono le azioni che un oggetto può eseguire, come accelerare, frenare, ecc.
Esempio di Utilizzo:
auto1.marca = "Toyota"
auto1.modello = "Corolla"
auto1.colore = "Rosso"
auto1.accelerare() # Stampa: "Sto accelerando"
auto2.marca = "Ford"
auto2.modello = "Mustang"
auto2.colore = "Blu"
auto2.frenare() # Stampa: "Sto frenando"
Costruttori
Un costruttore è un metodo speciale chiamato automaticamente quando si crea un nuovo oggetto dalla classe. In Python, il costruttore predefinito è __init__
. Ă utilizzato per inizializzare le proprietĂ dellâoggetto.
Esempio di Costruttore:
class Persona:
def __init__(self, nome, etĂ ):
self.nome = nome
self.etĂ = etĂ
persona1 = Persona("Alice", 30)
persona2 = Persona("Bob", 25)
Modificare e Eliminare ProprietĂ
Puoi modificare o eliminare le proprietĂ di un oggetto dopo averlo creato.
auto1.colore = "Nero" # Modifica la proprietĂ "colore" di auto1
del auto2.colore # Elimina la proprietĂ "colore" di auto2
Metodo __str__
Il metodo speciale __str__
consente di definire una rappresentazione leggibile in formato stringa dellâoggetto.
class Automobile:
# ... altre definizioni di classe ...
def __str__(self):
return f"Automobile: {self.marca} {self.modello} di colore {self.colore}"
Keyword self
La keyword self
si riferisce allâoggetto stesso e viene utilizzata allâinterno dei metodi di una classe per accedere alle proprietĂ e ai metodi dellâoggetto.
Esempio di Utilizzo di self:
class Automobile:
# ... altre definizioni di classe ...
def accelerare(self):
print(f"{self.marca} {self.modello} sta accelerando")
Conclusione
La Programmazione Orientata agli Oggetti (OOP) è un paradigma fondamentale in Python che ci permette di creare strutture modulari e organizzate. Le classi definiscono gli oggetti e ne specificano le proprietĂ e i metodi. Creare oggetti, accedere alle proprietĂ , modificare ed eliminare proprietĂ , chiamare i metodi e utilizzare la keyword self sono abilitĂ chiave per lavorare con lâOOP in Python.