La programmazione orientata agli oggetti è un paradigma, una visione di come programmare. Vedrete presto da soli che l'OOP porta una semplificazione abbastanza fondamentale a tutti i problemi e le difficoltà comuni che si risolvono più e più volte nella programmazione reale.
L'idea di base della programmazione orientata agli oggetti è quella di dividere una grande applicazione (un compito complesso) in molte piccole parti che possiamo risolvere in modo elegante e indipendente.
Per esempio, se stiamo programmando un sistema di prenotazione di biglietti aerei, è un progetto molto complesso che risolve migliaia di casi. Se possiamo decomporre l'intera logica complessa in molti livelli e parti, possiamo facilmente capire l'intero sistema complesso e programmare i singoli sottocompiti in modo indipendente.
A parte il punto di vista accademico, ci sono molte ragioni pratiche per usare OOP:
Personalmente, non riesco a immaginare squadre con più di una persona che programmano in modo diverso.
Nota:
L'uso di oggetti mette un po' più di memoria e di CPU sul computer, quindi questo ridurrà un po' le prestazioni dell'applicazione. In un ambiente reale, tuttavia, questo non importa, perché riprogrammare l'applicazione a oggetti fa perdere un po' di prestazioni (di solito unità di percentuale), ma fa risparmiare tempo ai programmatori (di solito decine o centinaia di percentuale). Il tempo umano è sempre molto più costoso (e molto limitato) del tempo del computer.
Non dimenticate anche che OOP porta una grande semplificazione a tutta l'applicazione e permette di completare grandi applicazioni in un tempo ragionevole. Un gran numero di applicazioni complesse sarebbe quasi impossibile da programmare senza oggetti.
L'obiettivo fondamentale della OOP nella progettazione del software è quello di simulare il più possibile le proprietà, i comportamenti e i principi del mondo reale. Gli oggetti in OOP rappresentano entità reali. Questo modo di pensare ci permette di costruire enormi sistemi complessi che possono essere ben compresi, risolvere internamente problemi del mondo reale come sarebbero risolti senza un computer, e i principi possono essere spiegati a persone reali.
Per esempio, se stiamo implementando un'applicazione di gestione dei contenuti, ha senso disporre tutta la logica interna in molte entità reali (articolo, autore, categoria) e costruire le sessioni non secondo ID di record generati artificialmente (come si fa convenzionalmente nei database) ma secondo relazioni reali.
Esempio di implementazione concreta:
class Article{private Author $author;/** @var Categoria[] */private array $categories;private string $title;}class Author{private string $name;}class Category{private string $name;}
Come possiamo vedere, la classe Article
non contiene solo parametri tecnici come l'ID del record con l'autore, ma è un vero e proprio legame all'entità Author, che di nuovo ha le sue proprietà.
Per una spiegazione dell'implementazione specifica e della sintassi, vedere il tutorial introduttivo.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | it