object-oriented programming (OOP)
Object-oriented programming (OOP) è un modello di programmazione per computer che organizza la progettazione del software intorno ai dati, o oggetti, piuttosto che funzioni e logica. Un oggetto può essere definito come un campo dati con attributi e comportamento univoci.
OOP si concentra sugli oggetti che gli sviluppatori vogliono manipolare piuttosto che sulla logica necessaria per manipolarli. Questo approccio alla programmazione è adatto per programmi di grandi dimensioni, complessi e attivamente aggiornati o mantenuti.
L’organizzazione di un programma orientato agli oggetti rende il metodo vantaggioso per lo sviluppo collaborativo, in cui i progetti sono divisi in gruppi.
Ulteriori vantaggi di OOP includono la riusabilità del codice, la scalabilità e l’efficienza. Anche quando si utilizzano i microservizi, gli sviluppatori dovrebbero continuare ad applicare i principi di OOP.
Il primo passo in OOP è quello di raccogliere tutti gli oggetti che un programmatore vuole manipolare e identificare come si relazionano tra loro-un esercizio spesso noto come modellazione dei dati.
Gli esempi di un oggetto possono variare da entità fisiche, come un essere umano che è descritto da proprietà come nome e indirizzo, fino a piccoli programmi per computer, come i widget.
Una volta che un oggetto è noto, viene etichettato con una classe di oggetti che definisce il tipo di dati che contiene e qualsiasi sequenza logica che può manipolarlo. Ogni sequenza logica distinta è nota come metodo. Gli oggetti possono comunicare con interfacce ben definite chiamate messaggi.
Principi di OOP
La programmazione orientata agli oggetti si basa sui seguenti principi:
- Incapsulamento. L’implementazione e lo stato di ciascun oggetto sono detenuti privatamente all’interno di un limite definito o di una classe. Altri oggetti non hanno accesso a questa classe o l’autorità per apportare modifiche, ma sono solo in grado di chiamare un elenco di funzioni pubbliche o metodi. Questa caratteristica di nascondere i dati fornisce una maggiore sicurezza del programma ed evita il danneggiamento involontario dei dati.
- Astrazione. Gli oggetti rivelano solo meccanismi interni rilevanti per l’uso di altri oggetti, nascondendo qualsiasi codice di implementazione non necessario. Questo concetto aiuta gli sviluppatori più facilmente apportare modifiche e aggiunte nel tempo.
- Eredità. È possibile assegnare relazioni e sottoclassi tra oggetti, consentendo agli sviluppatori di riutilizzare una logica comune pur mantenendo una gerarchia univoca. Questa proprietà di OOP forza un’analisi dei dati più approfondita, riduce i tempi di sviluppo e garantisce un maggiore livello di precisione.
- Polimorfismo. Gli oggetti possono assumere più di una forma a seconda del contesto. Il programma determinerà quale significato o utilizzo è necessario per ogni esecuzione di quell’oggetto, riducendo la necessità di duplicare il codice.
Linguaggi di programmazione orientati agli oggetti
Mentre Simula è accreditato come il primo linguaggio di programmazione orientato agli oggetti, i linguaggi OOP più popolari sono:
- Java
- JavaScript
- Python
- C++
- Visual Basic .NET
- Ruby
- Scala
- PHP
OOPSLA è la conferenza annuale per la Programmazione Object-Oriented, Sistemi, Linguaggi e Applicazioni.
Critica di OOP
Il modello di programmazione orientato agli oggetti è stato criticato dagli sviluppatori per molteplici motivi. La più grande preoccupazione è che OOP enfatizzi eccessivamente la componente dati dello sviluppo software e non si concentri abbastanza sul calcolo o sugli algoritmi. Inoltre, il codice OOP potrebbe essere più complicato da scrivere e richiedere più tempo per la compilazione.
metodi Alternativi alla programmazione ad oggetti includono:
- programmazione funzionale
- programmazione strutturata
- programmazione imperativa
la Maggior parte dei linguaggi di programmazione avanzati dare agli sviluppatori la possibilità di combinare questi modelli.
Leave a Reply