Python - Oggetti

Sommario
Nel Programmazione orientata agli oggetti, gli oggetti sono rappresentazioni astratte di elementi, che definiamo attraverso i loro attributi e che hanno una serie di metodi che ci consentono di manipolare e avere accesso a questi attributi.
esistere 3 caratteristiche che ci danno la ragione per usare i nostri oggetti invece di dipendere dalle funzioni, librerie e globali che il linguaggio ci mette a disposizione, questi sono:
  • Polimorfismo: uso delle stesse operazioni su oggetti diversi di classi diverse.
  • Incapsulamento: nascondere i suoi attributi da entità esterne all'oggetto in modo che possa proteggerli.
  • Eredità- Creare oggetti più specifici che ereditano gli attributi ei metodi di base di una classe superiore più generale.

Questo termine significa che ha molte forme, questo significa che possiamo eseguire operazioni che funzioneranno in modo diverso a seconda del tipo o della classe dell'oggetto. Facciamo un semplice esempio, immaginiamo di avere un carrello della spesa, poi definiamo come vogliamo che si ottengano i dati di prezzo e il prodotto desiderato, come vediamo nell'immagine seguente che creiamo una tupla.

Ora cosa succederebbe se si ampliasse la funzionalità del carrello della spesa e ora si lavora con le aste, in qualche modo dovremmo specificare i valori che devono essere ricevuti e come agire quando si utilizzano gli stessi metodi, nel modo in cui molti penserebbero è quello di fare una funzione della forma seguente, tuttavia, non è appropriato.

Come possiamo vedere nell'immagine copriamo le possibilità del momento, tuttavia, cosa succede quando le funzionalità vengono aumentate, dovremo continuare ad aggiornare questo codice per sempre, è qui che entra in gioco il polimorfismo e quello che facciamo è definire che ogni l'oggetto restituisce il suo prezzo indipendentemente da come viene calcolato poiché è qualcosa di interno a ciascuna classe, che sarebbe il seguente:

Possiamo quindi vedere che è qualcosa che ci aiuta ad avere un codice più duraturo nel tempo, più facile da mantenere.
Questo consiste nel nascondere al mondo esterno i dettagli interni della classe, in modo che sia accessibile solo dai propri oggetti e metodi, in questo modo possiamo lavorare con le classi senza dover conoscere il loro funzionamento interno, eliminando la complessità dell'implementazione e proteggendo la logica all'interno dei nostri oggetti.
Ci permette anche lavorare con la certezza che i dati all'interno del nostro oggetto non verranno modificati, poiché se funzionano in modo astratto saremo in grado di istanziare più volte e ogni istanza è totalmente individuale.
Diamo un'occhiata a un esempio di un oggetto che non è incapsulato:

Qui vediamo che anche se lo era o1 che ha fatto un set del nome, o2 accedere allo stesso nome senza averlo impostato, questo in un'applicazione sarebbe problematico, immaginiamo di aver bisogno del prezzo di più prodotti e ognuno sovrascrive il prezzo del precedente.
Ora con un incapsulamento, diamo un'occhiata a come funzionerebbe l'intero flusso del programma.

Qui vediamo che ogni oggetto mantiene il suo nome, quindi sappiamo che possiamo lavorare in sicurezza ottenendo i valori corretti per ciascuno dei nostri oggetti.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave