Programmazione orientata agli oggetti

La programmazione orientata agli oggetti è basata sul concetto di creazione di un modello del problema di destinazione nei propri programmi. La programmazione orientata agli oggetti riduce gli errori di programmazione e favorisce il riutilizzo del codice. Python è un linguaggio orientato agli oggetti. Gli oggetti definiti in Python hanno le seguenti caratteristiche:

  • Identità. Ciascun oggetto deve essere distinto e verificabile. I test is e is not esistono per questo scopo.
  • Stato. Ciascun oggetto deve essere in grado di memorizzare lo stato. A questo scopo, sono disponibili gli attributi, come i campi e le variabili dell'istanza.
  • Comportamento. Ciascun oggetto deve essere in grado di modificare il proprio stato. A questo scopo, sono disponibili alcuni metodi.

Python include le seguenti funzioni per il supporto della programmazione orientata agli oggetti:

  • Creazione di oggetti basati sulla classe. Le classi sono modelli per la creazione degli oggetti. Gli oggetti sono strutture di dati con un comportamento associato.
  • Ereditarietà con polimorfismo. Python supporta l'ereditarietà singola e multipla. Tutti i metodi dell'istanza Python sono polimorfici e possono essere sovrascritti dalle classi secondarie.
  • Incapsulamento con dati nascosti. Python consente di nascondere gli attributi. Quando è nascosto, è possibile accedere agli attributi dall'esterno della classe solo tramite i metodi della classe. Le classi implementano i metodi per modificare i dati.