🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Classi e Oggetti in Python

Codegrind Team•Jul 22 2023

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 (proprietà) 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.