Descrivi i 4 fondamenti della Programmazione Orientata agli Oggetti.
La programmazione orientata agli oggetti (OOP) è un paradigma di programmazione che utilizza astrazioni per creare modelli basati sul mondo reale. Si basa su quattro principi principali: l'orientamento agli oggetti, il polimorfismo, l'astrazione e l'incapsulamento. L'orientamento agli oggetti è il concetto di organizzare il codice intorno agli oggetti anziché alle funzioni e al modo in cui interagiscono tra loro. Il polimorfismo è la capacità delle classi di essere estese e modificate al volo utilizzando l'ereditarietà e le sottoclassi. L'astrazione consente di rimuovere dettagli superflui da sistemi complessi, consentendo una maggiore attenzione ai processi chiave. L'incapsulamento è il processo di combinare dati e funzioni correlate in un'unica unità che può essere manipolata come un'entità singola.