object oriented programming c
Introducere în programarea orientată pe obiecte în C ++.
Cu acest tutorial, începem o serie de tutoriale pentru a afla despre C ++ ca limbaj de programare orientat pe obiecte.
După cum știm, înainte de programarea orientată pe obiecte (OOP), programele erau scrise folosind limbaje procedurale. Funcțiile de stres ale limbajelor procedurale. Problemele mai mari sunt împărțite în subprobleme mai mici și scrise ca funcții.
=> Consultați aici pentru a explora lista completă de tutoriale C ++.
Limbajele procedurale nu au acordat atenție datelor. Ca urmare, posibilitatea de a nu aborda problema într-un mod eficient a fost ridicată. De asemenea, deoarece datele au fost aproape neglijate, securitatea datelor a fost ușor compromisă.
Toate aceste dezavantaje ale programării procedurale au fost depășite de programarea orientată pe obiecte.
În acest tutorial, vom discuta elementele fundamentale ale programării orientate pe obiecte și pe scurt toate caracteristicile OOP.
Ce veți învăța:
- Programare orientată pe obiecte în C ++
- De ce C ++ este OOP parțial?
- Caracteristici OOP
- Avantajele OOP
- Concluzie
- Lectură recomandată
Programare orientată pe obiecte în C ++
Programarea orientată pe obiecte se învârte în jurul datelor. Unitatea principală de programare a OOP este obiectul. Un obiect este o reprezentare a unei entități în timp real și constă din date și metode sau funcții care operează pe date. În acest fel, datele și funcțiile sunt strâns legate și securitatea datelor este asigurată.
În OOP, totul este reprezentat ca un obiect și atunci când programele sunt executate, obiectele interacționează între ele prin transmiterea mesajelor. Un obiect nu trebuie să cunoască detaliile de implementare ale altui obiect pentru comunicare.
În afară de obiecte, OOP acceptă diverse caracteristici listate mai jos:
- Clase
- Incapsularea
- Abstracție
- Moştenire
- Polimorfism
Folosind OOP, scriem programe folosind clase și obiecte utilizând caracteristicile de mai sus. Se spune că un limbaj de programare este un adevărat limbaj de programare orientat obiect, dacă tot ceea ce reprezintă folosește un obiect. Smalltalk este un limbaj care este un limbaj de programare pur orientat pe obiecte.
Pe de altă parte, se spune că limbajele de programare precum C ++ și Java sunt limbaje de programare parțiale orientate obiect.
De ce C ++ este OOP parțial?
Limbajul C ++ a fost conceput cu intenția principală de a utiliza caracteristici orientate obiect în limbajul C.
Deși limbajul C ++ acceptă caracteristicile OOP, cum ar fi clase, obiecte, moștenire, încapsulare, abstractizare și polimorfism, există puține motive din cauza cărora C ++ este clasificat ca limbaj de programare parțial orientat obiect.
care dintre următoarele este unul dintre cele mai populare cadre de testare?
Vă prezentăm câteva dintre aceste motive mai jos:
# 1) Crearea clasei / obiectelor este opțională
În C ++, funcția principală este obligatorie și este întotdeauna în afara clasei. Prin urmare, putem avea o singură funcție principală în program și putem face fără clase și obiecte.
Aceasta este prima încălcare a limbajului Pure OOP în care totul este reprezentat ca un obiect.
# 2) Utilizarea variabilelor globale
C ++ are un concept de variabile globale care sunt declarate în afara programului și pot fi accesate de orice altă entitate a programului. Acest lucru încalcă încapsularea. Deși C ++ acceptă încapsularea cu privire la clase și obiecte, nu are grijă de ea în cazul variabilelor globale.
# 3) Prezența unei funcții de prietenie
C ++ acceptă o clasă de prieteni sau o funcție care poate fi utilizată pentru a accesa membrii privați și protejați din alte clase, făcându-i prieteni. Aceasta este încă o altă caracteristică a C ++ care încalcă paradigma OOP.
În concluzie, deși C ++ acceptă toate caracteristicile OOP menționate mai sus, oferă și caracteristici care pot acționa ca o soluție pentru aceste caracteristici, astfel încât să putem face fără ele. Acest lucru face din C ++ un limbaj de programare parțial orientat pe obiecte.
Caracteristici OOP
Aici vom introduce diverse caracteristici OOP care sunt utilizate pentru programare.
Clase și obiecte
Un obiect este o unitate de bază în programarea orientată pe obiecte. Un obiect conține date și metode sau funcții care operează pe acele date. Obiectele ocupă spațiu în memorie.
O clasă, pe de altă parte, este un plan al obiectului. În schimb, un obiect poate fi definit ca o instanță a unei clase. O clasă conține un schelet al obiectului și nu ocupă spațiu în memorie.
Să luăm o Exemplu a unui obiect auto. Un obiect auto numit „Maruti” poate avea date precum culoarea; marca, modelul, limita de viteză etc. și funcții precum accelerarea. Definim un alt obiect „vad”. Aceasta poate avea date și funcții similare cu cele ale obiectului anterior plus câteva adăugiri suplimentare.
În mod similar, putem avea numeroase obiecte cu nume diferite care au date și funcții similare și unele variații minore.
Astfel, în loc să definim aceste date și funcții similare în aceste obiecte diferite, definim un plan al acestor obiecte care este o clasă numită Car. Fiecare dintre obiectele de mai sus vor fi instanțe ale acestei mașini de clasă.
Abstracție
Abstracția este procesul de ascundere a informațiilor irelevante de la utilizator. De exemplu , când conducem mașina, pornim mai întâi motorul introducând o cheie. Nu suntem conștienți de procesul care se desfășoară în fundal pentru pornirea motorului.
Folosind abstractizarea în programare, putem ascunde detalii inutile de la utilizator. Prin utilizarea abstracției în aplicația noastră, utilizatorul final nu este afectat chiar dacă schimbăm implementarea internă.
Incapsularea
Incapsularea este procesul prin care datele și metodele sau funcțiile care operează pe ele sunt grupate împreună. Procedând astfel, datele nu sunt ușor accesibile pentru lumea exterioară. În OOP realizăm încapsularea făcând membrii de date priviți și având funcții publice pentru a accesa acești membri de date.
Moştenire
Utilizarea obiectului de moștenire a unei clase poate moșteni sau dobândi proprietățile obiectului altei clase. Moștenirea oferă reutilizarea codului.
Ca atare, putem proiecta o nouă clasă dobândind proprietățile și funcționalitatea altei clase și, în acest proces, nu trebuie să modificăm funcționalitatea clasei părinte. Adăugăm doar noi funcționalități clasei.
Polimorfism
Polimorfismul înseamnă multe forme.
metodă agilă scrum interviu întrebări răspunsuri
Polimorfismul este o caracteristică importantă a OOP și este de obicei implementat ca supraîncărcare a operatorului sau supraîncărcare a funcției. Supraîncărcarea operatorului este un proces în care un operator se comportă diferit în diferite situații. În mod similar, la supraîncărcarea funcției, aceeași funcție se comportă diferit în situații diferite.
Legare dinamică
OOP acceptă legarea dinamică, în care apelul funcțional este rezolvat în timpul rulării. Aceasta înseamnă că codul care urmează să fie executat ca urmare a unui apel de funcție este decis în timpul rulării. Funcțiile virtuale sunt un exemplu de legare dinamică.
Trimiterea mesajului
În OOP, obiectele comunică între ele folosind mesaje. Când obiectele comunică, informațiile sunt transmise înainte și înapoi între obiecte. Un mesaj constă în general din numele obiectului, numele metodei și datele reale care urmează să fie trimise către alt obiect.
Avantajele OOP
Să discutăm câteva dintre avantajele OOP.
# 1) Reutilizare
OOP permite reutilizarea codului existent prin moștenire. Putem dobândi cu ușurință funcționalitatea existentă și o putem îmbunătăți fără a fi nevoie să rescriem din nou codul. Acest lucru duce la un cod mai puțin umflat.
# 2) Modularitate
Pe măsură ce modularizăm programul în POO, este ușor să modificați sau să depanați programul dacă apare o problemă sau dacă se adaugă o nouă funcție sau îmbunătățire. Modularizarea ajută, de asemenea, la claritatea codului și o face mai ușor de citit.
# 3) Flexibilitate
OOP ne ajută cu programarea flexibilă utilizând caracteristica polimorfism. Deoarece polimorfismul ia mai multe forme, putem avea operatori sau funcții care vor funcționa cu multe obiecte și astfel ne vor salva de la scrierea unor funcții diferite pentru fiecare obiect.
# 4) Mentenabilitate
Menținerea codului este mai ușoară, deoarece este ușor să adăugați noi clase, obiecte etc. fără restructurări sau modificări prea mari.
# 5) Ascunderea datelor și informațiilor
OOP ne ajută să ascundem datele, păstrând astfel informațiile în siguranță împotriva scurgerilor. Numai datele necesare pentru buna funcționare a programului sunt expuse utilizatorului prin ascunderea detaliilor intrinseci.
Concluzie
OOP este cea mai importantă și flexibilă paradigmă de programare a programării moderne. Este util în mod special în modelarea problemelor din lumea reală și, prin urmare, este foarte popular.
Am discutat diferitele caracteristici ale OOP în acest tutorial. Mai departe vom discuta în detaliu toate aceste caracteristici.
Următorul subiect din această serie „OOP cu C ++” se va concentra pe clase și obiecte în detaliu.
=> Faceți clic aici pentru seria Absolute C ++ Training.
Lectură recomandată
- OOP Java: Introducere în programarea orientată pe obiecte în Java
- Tipuri de date C ++
- Top 10 instrumente pentru știința datelor în 2021 pentru eliminarea programării
- Abstracția datelor în C ++
- Introducere în structurile de date în C ++
- Tutorial Unix Pipes: Pipe în programarea Unix
- QTP Tutorial # 8 - Aflați despre modurile de înregistrare QTP, Spionarea obiectelor și Depozitele de obiecte
- 70+ BEST Tutoriale C ++ Pentru a învăța programarea C ++ GRATUIT