Ce este OOP? - Principii cu exemple - Avantaje dezavantaje

Cuprins:

Anonim

Ce este OOP?

Programarea orientată pe obiecte (sau OOP) este o paradigmă a programării în care programele sunt scrise și structurate în jurul obiectelor, mai degrabă decât funcții sau logică. Aici, obiectele sunt definite ca câmpuri de date care au atribute și comportament unic. Acestea conțin date sub formă de atribute și proceduri sub formă de metode. Procedurile obiect pot accesa și modifica datele prezente într-un obiect.

Există multe limbaje OOP, cele mai populare fiind bazate pe clasă, unde obiectele vor fi o instanță a unei clase. O clasă este un container pentru date și proceduri, cunoscute și sub numele de date și funcții ale membrilor. Să considerăm un exemplu de obiect ca o mașină. O mașină are atribute precum culoarea, numele de marcă, capacitatea de combustibil etc. și are metode pentru a reprezenta comportamentul unei mașini ca o pornire, accelerare, spargere etc. O clasă reprezintă un model de atribute și metode și nu ocupă spațiu., până și dacă nu este făcut un obiect pentru acea clasă.

Exemplu :

class car
(
char name(20); // name and colour are attributes
char colour(20);
public void start()() //start is a method
);
void main()
(
car c1; //c1 is an object
)

Obiective de programare orientate pe obiect pentru a fi implementate în programare, entități din lumea reală, precum moștenire, polimorfism, încapsulare etc., pe care le vom vedea în detaliu. Obiectivul principal al OOP este legarea colectivă a datelor și a funcțiilor care operează pe acestea, astfel încât aceste date să fie accesibile doar de acea funcție.

Principiile OOP

Cele patru principii principale ale programării orientate pe obiect sunt încapsularea, abstractizarea, moștenirea și polimorfismul.

1. încapsulare:

Legarea datelor și metodelor într-o singură unitate se numește încapsulare. Încapsularea se realizează atunci când fiecare obiect din clasă își păstrează starea privată. Datele din interiorul acestei unități nu sunt accesibile de obiecte exterioare și numai acele funcții din interiorul acestei unități pot să-l acceseze. Astfel, obiectul își gestionează starea cu ajutorul metodelor sale, iar pentru a comunica cu acest obiect, vom avea nevoie de ajutorul metodelor publice din această clasă.

2. Abstracția

Abstracția este o extensie a încapsulării. Înseamnă să furnizați numai informațiile necesare lumii exterioare, în timp ce ascundeți detaliile interne ale implementării. Acesta dezvăluie doar operațiunile adecvate pentru alte obiecte. Avantajul acestui lucru este că putem schimba implementarea fără a afecta clasa, deoarece interfața metodei rămâne aceeași.

Să luăm exemplul unui calculator, care preia intrarea de la noi, iar prin apăsarea unui buton, ne oferă ieșirea dorită, în timp ce ne scutește detaliile interne despre cum a ajuns la acel răspuns.

3. Moștenire

Adesea, obiectele sunt similare în funcționalitate, împărtășind o parte din logică, dar diferă în rest. Deci, cum reutilizăm logica comună și separăm logica diferită? Acest lucru poate fi obținut prin moștenire. În moștenire, creăm o nouă clasă numită drept clasă copil care este derivată din clasa existentă numită clasa părinte, formând astfel o ier0arhie de clase. Clasa copil reutilizează câmpurile și metodele de date pe care le solicită de la clasa părinte și își pune în aplicare funcționalitatea unică.

De exemplu, un vehicul poate fi o clasă de părinți, din care putem deriva clase de copii precum Bike și Car. Ele împărtășesc proprietățile comune de a putea folosi combustibil și transporta pasageri, dar diferă în ceea ce privește numărul de pasageri pe care îi pot transporta și mai multe astfel de proprietăți.

4. Polimorfism

Polimorfismul este capacitatea de a lua mai multe forme. Să presupunem că avem o clasă de părinți și câteva clase de copii. Acum vrem să folosim atribute atât de la părinții, cât și de la clasele copilului, deci cum se va realiza? Acest lucru poate fi realizat folosind Polimorfism. În Polimorfism, entitățile abstracte sunt executate în mai multe moduri. Oferă un mod de a consuma o clasă exact ca clasa părintească, astfel încât nu există nicio confuzie cu amestecarea tipului de clase și fiecare clasă de copii continuă să-și păstreze metodele așa cum a fost. Acest lucru se poate face prin reutilizarea unei interfețe părinte, astfel încât clasa copil să poată implementa aceste metode în propria versiune.

Avantajele programării orientate pe obiecte

  • O idee din lumea reală poate fi demonstrată, deoarece totul din OOP este tratat ca un obiect.
  • Pe măsură ce folosim conceptul de încapsulare, programele sunt mai ușor de testat și întreținut.
  • Dezvoltarea mai rapidă a codului se face, pe măsură ce dezvoltăm clase paralele în loc de secvențial.
  • OOP oferă o mai mare securitate datorită extragerii datelor. Lumea exterioară nu poate accesa datele ascunse.
  • Reutilizabilitatea se poate realiza folosind clase care au fost deja scrise.

Dezavantaje ale programării orientate pe obiecte

  • Proiectarea unui program cu conceptul OOP poate fi dificilă.
  • Un programator trebuie să planifice în prealabil pentru dezvoltarea unui program în OOP.
  • Mărimea programelor dezvoltate cu OOP este mai mare decât cele dezvoltate cu o abordare procedurală.
  • Deoarece programele OOP au dimensiuni mai mari, timpul de execuție pentru aceste programe este de asemenea mai mare.

Cum vă poate ajuta Cunoașterea OOP în creșterea carierei?

Multe dintre principalele limbaje în trend în zilele noastre, precum Java și Ruby, folosesc concepte de programare orientate pe obiecte. Limbile OOP ajută la scrierea de software pentru aplicații precum aplicații mobile, web și jocuri. Există câștiguri mari în aceste domenii, cum ar fi cele mai bune oportunități de muncă pentru programatori să se bazeze în aceste domenii. Este ușor să vă mutați în diverse tehnologii și limbi, cu elementele de bază ale OOP și, astfel, ne lărgim perspectivele de carieră. Un dezavantaj în acest sens se întâmplă să fie expertiza. De obicei, companiile caută experiență practică în limbi și concepte OOP, de aceea este recomandat să practici pe măsură ce mergem de-a lungul procesului de învățare.

Concluzie

Programarea orientată pe obiecte simplifică procesul de programare pentru noi. Are multe valori precum reutilizarea, eficiența și întreținerea codului. Deși inițial poate fi greu de înțeles conceptele OOP, vă asigur că fructele vor merita efortul. Sper că acest articol a ajutat la simplificarea acestor concepte pentru dumneavoastră!

Articol recomandat

Acesta a fost un ghid pentru Ce este OOP? Aici am discutat Conceptele, definiția și principiile cu avantajele și dezavantajele OOP. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Este Hadoop Open Source?
  2. Ce este moștenirea Java?
  3. Ce este Multithreading în C #?
  4. Ce este ASP.Net Web Services?