Programmazione orientata agli oggetti (OOP), è un approccio di programmazione che viene utilizzato da ogni sviluppatore ad un certo punto della loro vita per organizzare la progettazione di software attorno a oggetti o dati piuttosto che logica o funzioni in cui un oggetto è un'entità che ha alcune proprietà e qualche tipo. I vantaggi dell'utilizzo della tecnica OOP includono modularità, riusabilità, sicurezza, produttività, flessibilità ed è facilmente scalabile e aggiornabile.
Caratteristiche di OOP
Le tre principali caratteristiche di OOP sono le seguenti:
i) incapsulamento
L'incapsulamento è un concetto di OOP che raggruppa dati e metodi che operano su tali dati all'interno di un'unità, ad esempio una classe in Java e un'istanza di una classe è chiamata oggetto. L'incapsulamento si riferisce inoltre alla limitazione dell'accesso ai dati ad alcune classi o oggetti e quindi tutti gli utenti non saranno in grado di accedere alle variabili o ai valori di stato di alcuni oggetti.
ii) eredità
Nell'eredità, una classe (figlio) eredita tutti i metodi e gli attributi di un'altra classe (genitore).
iii) polimorfismo
Il polimorfismo significa una proprietà con molte forme ed è uno dei concetti fondamentali in OOP. Il polimorfismo ci consente di creare procedure sugli oggetti il cui tipo esatto non è noto fino al runtime.
JavaScript orientato agli oggetti?
JavaScript è un linguaggio di programmazione basato su prototipi ed è utilizzato principalmente per creare applicazioni Web e pagine Web. Il linguaggio di programmazione prototipo è uno stile di OOP in cui gli oggetti già creati possono essere clonati e riutilizzati in modo che il programma o l'applicazione possano essere costruiti. Le funzioni sono utilizzate come costruttori per le classi in linguaggi di programmazione basati su prototipi.
JavaScript è eccellente nella programmazione delle applicazioni OOP ed è fortemente basato su oggetti, tuttavia non è un linguaggio OOP basato sulla classe ma piuttosto un linguaggio di programmazione basato sul prototipo. Tuttavia, possiamo usare JavaScript come linguaggio di programmazione basato su classe. JavaScript ti consente di creare o creare nuovi oggetti per l'uso dell'applicazione. Tuttavia, va notato che mentre il linguaggio OOP incoraggia e si concentra sulle relazioni e sulla tassonomia, le lingue basate sul prototipo si concentrano e incoraggiano prima il comportamento e poi la classificazione in seguito.
Nel 2015 JavaScript ha introdotto una parola chiave di classe che doveva creare un linguaggio OOP JavaScript ma era solo zucchero sintetico rispetto alla tecnica del prototipo esistente. Il corpo esterno sembra OOP, tuttavia sullo sfondo la prototipazione continua.
Di seguito è riportato un esempio di OOP in JavaScript in cui abbiamo usato la classe per definire gli oggetti degli studenti e ha la proprietà di Nome, grado e Metodo Studies () che restituisce il nome e il grado dello studente.
Studente di classeSe espandiamo il prototipo visto nello screenshot sopra, vedremo che il proto fa riferimento al prototipo dello studente che in realtà fa riferimento al prototipo di oggetti.
Esempio di incapsulamento JavaScript
Vediamo un esempio in cui viene utilizzata l'eredità e la classe o l'oggetto viene definita laddove una persona ha un nome e viene definito anche un metodo in cui il nome viene restituito. Viene definito un altro studente di classe che estende la persona ereditando così tutte le proprietà e i metodi della persona di classe genitore I-E e nella classe studentesca di classe I-E per bambini, abbiamo utilizzato la parola chiave che invoca il costruttore del genitore o della classe persona. Sarai anche in grado di vedere che l'oggetto persona e l'oggetto studente hanno entrambi un metodo con lo stesso nome ToString (). Questo si chiama prevalente e OOP ci consente di avere un metodo in una classe figlio con lo stesso nome e firma di quello della classe genitore.
// Esempio di ereditàConclusione
Oop è un modello di programmazione che organizza il nostro design del software attorno agli oggetti piuttosto che alla logica o alle funzioni. Un oggetto ha una proprietà e un valore. Usando OOP otteniamo sicurezza, produttività, riusabilità e molto altro ancora.
JavaScript è un linguaggio di programmazione basato su prototipi, tuttavia è stata introdotta la parola chiave di classe 2015 che rende JavaScript come un linguaggio di programmazione OOP ma come abbiamo visto nella descrizione sopra che nella prototipazione di fondo continua. Per dirla semplicemente, JavaScript è un linguaggio di programmazione orientato agli oggetti basato su prototipazione.