Tutto ciò che devi sapere sulla programmazione orientata agli oggetti in C ++



Questo articolo fornirà un'introduzione approfondita a un approccio di programmazione ripetitivo che è la programmazione orientata agli oggetti in C ++.

sicuramente ha preso d'assalto il mondo della programmazione quando è apparso e costituisce ancora la base per la programmazione in larga misura. In questo articolo esploreremo la programmazione orientata agli oggetti in C ++. I seguenti puntatori saranno trattati in questo articolo,

Iniziare con questo articolo sulla programmazione orientata agli oggetti in C ++





Che cos'è la programmazione orientata agli oggetti?

La motivazione principale dietro l'invenzione dell'approccio orientato agli oggetti è rimuovere alcuni dei difetti riscontrati nell'approccio procedurale. In OOP i dati vengono trattati come un elemento critico nello sviluppo del programma e ne limitano il flusso nel sistema. Lega i dati più strettamente alla funzione che li opera e li protegge da modifiche accidentali da funzioni esterne. Consente al problema di suddividersi in una serie di entità chiamate oggetti e quindi costruisce dati e funzioni attorno a questi oggetti. È possibile accedere ai dati di un oggetto solo dalle funzioni associate a quel particolare oggetto. Tuttavia, le funzioni di un oggetto possono accedere alle funzioni di altri oggetti, se necessario.

Andando avanti con questo articolo sulla programmazione orientata agli oggetti in C ++



Caratteristiche della programmazione orientata agli oggetti:

  • Dà più importanza ai dati piuttosto che alla procedura.
  • I programmi sono suddivisi in oggetti, facilitando così il lavoro.
  • Le strutture dati sono progettate in modo tale da caratterizzare gli oggetti.
  • Funzioni che funzionanosui dati di un oggetto vengono inseriti insieme nella struttura dati.
  • I dati sono nascosti e non è possibile accedervi da funzioni esterne senza autorizzazione.
  • La comunicazione tra gli oggetti può avvenire con l'ausilio di funzioni.
  • Aggiungere nuovi dati e funzioni è diventato facile.
  • Segue l'approccio dal basso verso l'alto nella progettazione del programma.

Andando avanti con questo articolo sulla programmazione orientata agli oggetti in C ++

Oggetti

Gli oggetti sono le entità run & middottime più basilari negli OOP e possono rappresentare dati definiti dall'utente e nel medioevo come vettori, tempo ed elenchi o qualsiasi elemento che il programma deve gestire. Il problema di programmazione viene analizzato sulla base degli oggetti e della natura della comunicazione tra loro. Gli oggetti devono essere selezionati in modo tale da corrispondere strettamente agli oggetti del mondo reale. Gli oggetti occupano spazio nella memoria e non hanno indirizzi associati. Durante l'esecuzione gli oggetti interagiscono inviandosi messaggi l'un l'altro. Ad esempio, se 'Student' e * Student_roll_no 'sono due oggetti in un programma, l'oggetto Student potrebbe inviare un messaggio all'oggetto Student_roll_no richiedendo i suoi Mark associati. Ogni oggetto contiene codice per manipolare i dati. Gli oggetti possono interagire con i dati o il codice dell'altro senza doverne conoscere

Andando avanti con questo articolo sulla programmazione orientata agli oggetti C ++



mappa hash vs tabella hash

Classi

L'intero set di codice di un oggetto può essere reso un tipo di dati definito dall'utente con l'aiuto di una classe, in realtà gli oggetti sono variabili del tipo classe. Una volta definita una classe, possiamo creare un numero qualsiasi di oggetti appartenenti alla classe. Ogni oggetto può essere associato ai dati di tipo classe con cui vengono creati. Quindi una classe non è altro che una raccolta di oggetti di tipo simile. Ad esempio, cellulare, laptop e smartwatch sono tutti membri dell'elettronica di classe. Le classi sono tipi di dati definiti dall'utente. La sintassi utilizzata per creare un oggetto è abbastanza semplice. Se l'elettronica è stata definita come una classe, l'istruzione laptop electronics creerà un oggetto laptop appartenente alla classe electronics.

laptop di elettronica

Questo creerà un oggetto laptop appartenente alla classe electronics.

Andando avanti con questo articolo sulla programmazione orientata agli oggetti in C ++

Incapsulamento

L'incapsulamento può essere definito come il raggruppamento di dati e informazioni in una singola unità. Nella programmazione orientata agli oggetti, l'incapsulamento è definito come unire insieme i dati e le funzioni che li manipolano.

system.exit (1) java

Incapsulamento - Programmazione orientata agli oggetti in Cpp - Edureka

Considera un esempio di incapsulamento nella vita reale, in una scuola ci sono diverse sezioni come la sezione dello studente, la sezione degli insegnanti, la sezione dei conti, ecc. La sezione dello studente gestisce tutte le attività dello studente e conserva i record di tutti i dati relativi alla finanza. Allo stesso modo, la sezione dell'insegnante gestisce tutte le attività correlate dell'insegnante e registra tutti i voti e le prestazioni degli studenti. Ora può sorgere una situazione in cui per qualche motivo uno studente della sezione studenti necessita di tutti i dati sui voti e sulle prestazioni di tutti gli studenti. In questo caso non gli è consentito accedere direttamente ai dati della sezione del docente. Dovrà prima contattare qualche docente nella sezione docenti e poi chiedergli di fornire tutti i dati. Questo è l'incapsulamento. Qui i dati della sezione dello studente e della sezione dell'insegnante che può manipolarli sono racchiusi sotto un unico nome di 'sezione insegnanti'.

Andando avanti con questo articolo

Astrazione

L'astrazione si riferisce a mostrare solo le caratteristiche importanti e richieste dell'applicazione e nascondere i dettagli. In C ++, le classi possono fornire dati e funzioni al mondo esterno per l'accesso, mantenendo le variabili nascoste dall'accesso diretto, oppure le classi possono persino dichiarare tutto accessibile a tutti, o forse solo alle classi che lo ereditano, possiamo cambiarle secondo il nostro requisiti.

Questo può essere fatto utilizzando gli specificatori di accesso. C ++ ha 3 specificatori di accesso:

  • Privato
  • Protetto
  • Pubblico

Andando avanti con questo articolo

Polimorfismo

La parola polimorfismo significa avere molte forme. Possiamo definire il polimorfismo come la capacità di una funzione o di un dato di essere visualizzato in più di una forma. Una persona può avere caratteristiche diverse allo stesso tempo. Da ragazzo allo stesso tempo è uno studente, un fratello, un figlio. Quindi la stessa persona ha un comportamento diverso in situazioni diverse. Questo si chiama polimorfismo.

Un'operazione può esibire comportamenti diversi secondo il requisito in diversi casi. Il comportamento dipende dai tipi di dati utilizzati e dai suoi requisiti nell'operazione.

C ++ supporta il sovraccarico degli operatori e il sovraccarico delle funzioni.

  • Sovraccarico dell'operatore: è il processo con cui un operatore mostra comportamenti diversi in istanze diverse.
  • Sovraccarico di funzioni: il sovraccarico di funzioni utilizza un unico nome di funzione per eseguire diversi tipi di attività.

Il polimorfismo è ampiamente utilizzato nell'implementazione dell'ereditarietà.

Andando avanti con questo articolo sulla programmazione orientata agli oggetti in C ++

Eredità

vantaggi del sovraccarico del metodo in java

L'ereditarietà è il processo mediante il quale gli oggetti di una classe possono acquisire proprietà, funzioni e dati di oggetti di un'altra classe. Segue il concetto di classificazione gerarchica. Ad esempio, l'uccello 'passero' è una parte della classe 'uccello in volo' che è ancora una parte della classe 'uccello'. Con l'aiuto di questo tipo di divisione, ciascuna classe derivata condivide caratteristiche e dati comuni con la classe da cui è ereditata. L'ereditarietà fornisce l'idea di riutilizzabilità. Ciò significa che possiamo aggiungere funzionalità aggiuntive a una classe esistente senza modificarla o apportarvi modifiche. Ciò è possibile derivando una nuova classe dalla classe esistente. La nuova classe acquisirà le caratteristiche combinate della classe genitore e figlia.

Il vero uso dell'ereditarietà è che consente al programmatore di riutilizzare una classe che è quasi, ma non esattamente, ciò che vuole, e di alterare la classe e apportare modifiche in modo tale da non introdurre effetti collaterali indesiderati nel resto delle classi. Nota che ogni sottoclasse definisce solo quelle caratteristiche che sono uniche per essa e il resto deriva dalla sua classe genitore. Senza l'uso di alcuna classificazione, ogni classe avrebbe dovuto includere esplicitamente tutte le sue caratteristiche, il che avrebbe richiesto molto tempo e impegno.

Così siamo giunti alla fine di questo articolo sulla 'Programmazione orientata agli oggetti in C ++'. Se desideri saperne di più, dai un'occhiata al da Edureka, una società di apprendimento online affidabile. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per formarti sia sui concetti di base che avanzati su Java insieme a vari framework Java come Hibernate e Spring.

Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo blog e ti risponderemo il prima possibile.