logo

Concepte C++ OOP

Scopul major al programării C++ este de a introduce conceptul de orientare obiect în limbajul de programare C.

Programarea orientată pe obiecte este o paradigmă care oferă multe concepte, cum ar fi moștenire, legare de date, polimorfism etc.

Paradigma de programare în care totul este reprezentat ca obiect este cunoscută ca limbaj de programare cu adevărat orientat pe obiecte. Convorbire scurtă este considerat primul limbaj de programare cu adevărat orientat pe obiecte.


OOPs (Sistem de programare orientată pe obiecte)

Obiect înseamnă o entitate de cuvânt reală, cum ar fi stilou, scaun, masă etc. Programare orientată pe obiecte este o metodologie sau paradigmă pentru a proiecta un program folosind clase și obiecte. Simplifică dezvoltarea și întreținerea software-ului, oferind câteva concepte:

ouă de Paște în Android
Conceptul Cpp Oops 1
  • Obiect
  • Clasă
  • Moştenire
  • Polimorfism
  • Abstracția
  • Încapsulare

Obiect

Orice entitate care are stare și comportament este cunoscută ca obiect. De exemplu: scaun, pix, masă, tastatură, bicicletă etc. Poate fi fizic și logic.

Clasă

Colecția de obiecte se numește clasă. Este o entitate logică.

O clasă în C++ este elementul de bază care duce la programarea orientată pe obiecte. Trebuie creată o instanță de clasă pentru a accesa și utiliza membrii de date și funcțiile membre ale tipului de date definit de utilizator. Clasa unui obiect acționează ca planul său. Luați ca exemplu clasa de mașini. Chiar dacă diferite nume și mărci pot fi folosite pentru diferite mașini, toate vor avea unele caracteristici comune, cum ar fi patru roți, o limită de viteză, o autonomie de mile etc. În acest caz, clasa de mașină este reprezentată de roțile, limitările de viteză și kilometrajul.

Moştenire

Când un obiect dobândește toate proprietățile și comportamentele obiectului părinte adică cunoscut sub numele de moștenire. Oferă reutilizarea codului. Este folosit pentru a realiza polimorfismul de rulare.

  1. Subclasa - Subclasa sau Clasa derivata se refera la o clasa care primeste proprietati de la o alta clasa.
  2. Super clasă - Termenul „Clasă de bază” sau „Super clasă” se referă la clasa de la care o subclasă își moștenește proprietățile.
  3. Reutilizabilitate - Ca urmare, atunci când dorim să creăm o clasă nouă, dar o clasă existentă conține deja o parte din codul de care avem nevoie, putem genera noua noastră clasă din clasa veche datorită moștenirii. Acest lucru ne permite să utilizăm câmpurile și metodele clasei preexistente.

Polimorfism

Când o sarcină este realizată în moduri diferite adică cunoscut sub numele de polimorfism. De exemplu: a convinge clientul altfel, a desena ceva de ex. formă sau dreptunghi etc.

Situații diferite pot determina o operație să se comporte diferit. Tipul de date utilizate în operațiune determină comportamentul.

Abstracția

Ascunderea detaliilor interne și afișarea funcționalității este cunoscut sub numele de abstractie. Abstracția datelor este procesul de expunere către lumea exterioară numai a informațiilor care sunt absolut necesare în timp ce se ascunde implementarea sau informațiile de fundal. De exemplu: apel telefonic, nu cunoaștem procesarea internă.

În C++, folosim clasa abstractă și interfața pentru a realiza abstractizarea.

Încapsulare

Legarea (sau împachetarea) codului și datelor împreună într-o singură unitate este cunoscută sub numele de încapsulare. De exemplu: capsulă, este învelită cu diferite medicamente.

Încapsularea este de obicei înțeleasă ca gruparea de informații și date conexe într-o singură entitate. Încapsularea este procesul de legare a datelor și a funcțiilor care lucrează cu acestea în programarea orientată pe obiecte. Aruncă o privire la o ilustrare practică a încapsulării: la o companie, există diverse divizii, inclusiv divizia de vânzări, divizia de finanțe și divizia de conturi. Toate tranzacțiile financiare sunt gestionate de sectorul financiar, care păstrează, de asemenea, evidența tuturor datelor financiare. În mod similar, secția de vânzări este responsabilă de toate sarcinile legate de vânzări și menține o evidență a fiecărei vânzări. Acum, ar putea apărea un scenariu când, dintr-un anumit motiv, un oficial financiar solicită toate informațiile despre vânzări pentru o anumită lună. Sub termenul general „secțiune de vânzări”, toți angajații care pot influența datele secțiunii de vânzări sunt grupați împreună. Abstracția sau ascunderea datelor este un alt efect secundar al încapsulării. În același mod în care încapsularea ascunde datele. În exemplul menționat mai sus, orice altă zonă nu poate accesa niciuna dintre datele din oricare dintre secțiuni, cum ar fi vânzări, finanțe sau conturi.

Legare dinamică - În legarea dinamică, se ia o decizie în timpul execuției cu privire la codul care va fi rulat ca răspuns la un apel de funcție. Pentru aceasta, C++ acceptă funcții virtuale.

ce este s în python

Avantajul OOP-urilor față de limbajul de programare orientat pe procedură

  1. OOP-urile facilitează dezvoltarea și întreținerea, în cazul în care, ca în limbajul de programare orientat pe procedură, nu este ușor de gestionat dacă codul crește pe măsură ce dimensiunea proiectului crește.
  2. OOP oferă ascunderea datelor, în timp ce în limbajul de programare orientat către procedură, datele globale pot fi accesate de oriunde.
  3. OOP oferă capacitatea de a simula evenimentele din lumea reală mult mai eficient. Putem oferi soluția unei probleme cu cuvinte reale dacă folosim limbajul de programare orientată pe obiecte.

De ce avem nevoie de oops în C++?

Au existat diverse dezavantaje ale metodelor timpurii de programare, precum și performanțe slabe. Abordarea nu a putut aborda în mod eficient problemele din lumea reală, deoarece, similar cu programarea orientată către procedura, nu puteai reutiliza codul în cadrul programului, a existat o dificultate cu accesul global la date și așa mai departe.

Prin folosirea claselor și a obiectelor, programarea orientată pe obiecte simplifică întreținerea codului. Deoarece moștenirea permite reutilizarea codului, programul este mai simplu, deoarece nu trebuie să scrieți același cod în mod repetat. Ascunderea datelor este oferită și de idei precum încapsularea și abstractizarea.

De ce este C++ un oop parțial?

Caracteristicile orientate pe obiecte ale limbajului C au fost motivația principală din spatele construcției limbajului C++.

Limbajul de programare C++ este clasificat ca un limbaj de programare parțial orientat pe obiecte, în ciuda faptului că acceptă concepte OOP, inclusiv clase, obiecte, moștenire, încapsulare, abstractizare și polimorfism.

1) Funcția principală trebuie să fie întotdeauna în afara clasei în C++ și este necesară. Aceasta înseamnă că ne putem descurca fără clase și obiecte și avem o singură funcție principală în aplicație.

Este exprimat ca obiect în acest caz, care este prima dată când Pure OOP a fost încălcat.

2) Variabilele globale sunt o caracteristică a limbajului de programare C++ care poate fi accesată de orice alt obiect din program și sunt definite în afara acestuia. Încapsularea este ruptă aici. Chiar dacă C++ încurajează încapsularea pentru clase și obiecte, o ignoră pentru variabilele globale.

Supraîncărcare

Polimorfismul are, de asemenea, un subset cunoscut sub numele de supraîncărcare. Se spune că un operator sau o funcție existentă este supraîncărcat atunci când este forțat să opereze pe un nou tip de date.

model de proiectare din fabrică

Concluzie

După ce ați citit acest curs despre Conceptele OOPS în C++, veți dobândi o înțelegere a necesității programării orientate pe obiecte, ce sunt OOP-urile C++ și elementele fundamentale ale OOP-urilor, cum ar fi polimorfismul, moștenirea, încapsularea etc. Împreună cu cazurile de polimorfism și moștenire, ați aflat și despre beneficiile OOP-urilor C++.