– Incapsulamento
– Astrazione
– Ereditarietà
– Polimorfismo
Incapsulamento
L’incapsulamento si riferisce al raggruppamento di dati e metodi in una sola unità. Questo permette di riutilizzare le funzioni in modo più sicuro. Per esempio guardate il codice qui sopra. Le proprietà sono visibili solo all’ambito della classe e le funzioni phoneColor, phoneWeight, phoneBrand, sono visibili a chiunque chiami la funzione.
Abstraction
Abstraction ci permette di creare un modello da qualcosa di più complesso. Pensa al tuo telefono, per esempio, quando vai su Instagram e metti un like o commenti una foto. C’è un sacco di complessità e di logica in corso sullo sfondo di cui non sei al corrente. Un altro esempio potrebbe essere una macchina per il caffè. Diciamo che stai usando una macchina del caffè per fare il caffè. Ci sono un sacco di cose che accadono all’interno della macchina che potresti non sapere che stanno accadendo. A te, come utente, probabilmente non interessa cosa sta succedendo nella macchina. Vuoi solo il caffè. Essenzialmente, nasconde informazioni/dettagli non necessari e ci dà solo quello di cui abbiamo bisogno.
Eredità
L’ereditarietà si riferisce a come le classi possono ereditare metodi o proprietà da altre classi in una struttura gerarchica. In OOP, c’è qualcosa chiamato parent class
e un sub class
o child class
. Il sub class
o child class
inherits
dalla classe madre. Un altro modo in cui possiamo descrivere questo è dire che la sottoclasse extends
alla classe parent
.
Polimorfismo
Polimorfismo significa molte forme. In termini di programmazione, si riferisce specificamente a come le sottoclassi ereditano tutte le proprietà da una classe madre, ma possono anche avere le loro proprietà specifiche. Per esempio, pensiamo ad un insegnante e agli studenti all’interno di una classe. Hanno molte caratteristiche in comune, come il nome, l’età e così via. Tuttavia, gli studenti possono avere le proprie caratteristiche che un insegnante non ha, come il voto.
Conclusione
In sintesi, OOP è un paradigma di programmazione incentrato sugli oggetti. OOP non è specifico di JavaScript, ma questo è un esempio del suo design in JavaScript. La migliore analogia o modo di pensare all’OOP è che è essenzialmente un modello per creare oggetti. Può aiutare a rendere il nostro codice più DRY (Don’t Repeat Yourself) attraverso la riusabilità nel codice. Non preoccupatevi se non avete capito questo concetto la prima volta. Io certamente non l’ho fatto. Ho postato un link qui sotto per maggiori informazioni.