Articles

Introducerea limbajelor de programare orientate pe obiecte: Un ghid

limbajele de programare orientate pe obiecte folosesc obiecte care conțin atât date, cât și cod. Principiile programării orientate pe obiecte sunt încapsularea, abstractizarea, polimorfismul și moștenirea.

limbajele de programare orientate pe obiecte (OOP) sunt oriunde ne uităm. Multe dintre cele mai utilizate limbaje de codare care alcătuiesc lumea computerelor de astăzi sunt orientate pe obiecte. De fapt, multe programe de calculator și o mare parte din conținutul de pe web sunt construite pe limbaje de nivel înalt, orientate pe obiecte. Înțelegerea modului în care funcționează limbajele orientate pe obiecte și de ce sunt utile este importantă pentru aproape fiecare carieră în informatică.

în acest articol, vom arunca o privire la ce sunt limbajele orientate pe obiecte și vom examina argumentele pro și contra. De asemenea, vom arunca o privire la o listă scurtă a unora dintre cele mai populare limbi OOP utilizate astăzi.

ce este un limbaj de programare?

un limbaj de programare este un set de reguli și proceduri care permit programatorilor să ofere computerelor un set de instrucțiuni de executat. Fiecare limbaj de programare are propria sintaxă, care, odată învățat, vă permite să spuneți unui computer ce sarcini ar trebui să îndeplinească.

formular de depunere
găsește-ți potrivirea Bootcamp
  • career Karma te potrivește cu Bootcamp-urile de top tech
  • obțineți burse exclusive și cursuri de pregătire

gândiți-vă la asta în acest fel. Engleza este o limbă care vă permite să comunicați cu vorbitorii de engleză. Când cunoașteți regulile de bază ale limbii engleze, puteți vorbi cu oricine altcineva care înțelege aceleași reguli. Dar, computerele nu pot înțelege limba engleză sau orice altă limbă „tradițională” pentru care contează.

ce sunt limbajele de programare orientate pe obiecte?

computerele sunt mașini puternice. Cu un computer, putem calcula numerele extrem de rapid și suntem capabili să producem programe uimitoare pentru multe aplicații. Cu toate acestea, pentru a profita de această putere, trebuie să comunicăm cu computerul este ceva mai puțin dureros decât tastarea manuală a celor și a zerourilor.

prin urmare, avem limbaje de programare, care sunt susținute de codul mașinii care a fost deja scris. Cu toate acestea, cu cât ne îndepărtăm mai mult de codul mașinii, cu atât limbile mai abstracte și mai specializate devin în manipularea datelor. Acesta este motivul pentru care avem atât de multe limbi; nici o limbă nu este perfectă și toate au aplicații diferite și suprapuse.

paradigme de programare

la această notă, limbajele de programare sunt adesea separate de paradigma lor de programare. O paradigmă de programare este o modalitate de a privi și de a accesa datele. Cele două paradigme primare sunt orientate pe obiecte și funcționale, deși există multe altele (inclusiv unele care stau la baza principiilor de mai sus).

programarea orientată pe obiecte este construită în jurul obiectelor, care sunt structuri de date care conțin atât date (Proprietăți sau atribute), cât și cod (proceduri sau metode). Obiectele sunt capabile să se modifice cu’ acest ‘sau’ sinele. În majoritatea limbajelor OOP, aproape totul este un obiect care poate avea atât valori, cât și cod executabil. Fiecare obiect este unic și, deși poate fi o copie a unui alt obiect, variabilele sale pot fi diferite de variabilele oricărui alt obiect.

obiectele din designul software orientat pe obiecte pot fi gândite ca obiecte reale. Gândiți-vă la un obiect, ca un ceas. Ceasul are proprietăți. Este făcut din metal, este negru, are o greutate specifică. Dar acel obiect face și lucruri. Afișează timpul și, de asemenea, se poate afecta prin rotirea uneltelor pentru a schimba poziția mâinilor.

o altă caracteristică a obiectelor este că nu trebuie întotdeauna să știm cum funcționează ceasul pentru a-l face să funcționeze. Presupunând că ceasul este bine construit, acesta va indica în mod fiabil timpul, fără a fi nevoie să interferăm cu funcționarea sa interioară.

limbajele orientate pe obiecte au obiecte similare obiectelor din lumea reală. Ele pot avea proprietăți și funcții. De asemenea, tind să urmeze un anumit set de principii.

principiile de programare orientate pe obiecte

limbajele orientate pe obiecte vin cu patru principii. Aceste patru principii sunt proprietăți comune care le definesc și le fac semnificativ mai eficiente. Unii oameni le numesc cei patru piloni ai programării orientate pe obiecte.

cei patru piloni ai programării orientate pe obiecte sunt:

  1. încapsulare
  2. abstractizare
  3. moștenire
  4. polimorfism

cele patru principii

să explorăm aceste patru principii în profunzime.

  • încapsulare – încapsularea este conceptul de legare a datelor la funcții, care funcționează ca o funcție de securitate pentru a păstra aceste date în siguranță. De exemplu, multe limbi OOP împiedică orice altceva decât metode specifice din clasa care deține datele pentru a accesa aceste date. Acest lucru este adesea făcut în mod explicit pentru a păstra anumite date în siguranță.
  • abstractizare-abstractizare este ideea că, dacă faci un lucru prea des, ar trebui să fie propria entitate. De exemplu, dacă un programator rescrie în mod repetat aceeași funcție pentru obiecte diferite, acea funcție ar putea fi abstractizată pentru a deveni propria entitate.
  • moștenire-moștenirea este ceea ce sună ca, și este cel mai adesea definit ca o „este o” relație. Permite anumitor clase să fie sub umbrela altor clase. Aceste clase pot moșteni informații și funcționalități din acea clasă, fiind în același timp capabile să se extindă pe acea funcționalitate. Ne permite să reutilizăm codul pe care l-am tastat deja în alte clase.
  • polimorfism-polimorfism înseamnă ‘ a lua mai mult de o formă. În sensul limbajelor OOP, se referă la capacitatea de a manipula obiecte diferit în funcție de ceea ce sunt. Ne permite să definim diferite metode de manipulare a obiectelor pe baza clasei lor derivate. De exemplu, dacă ar trebui să găsim dimensiunea unui lucru, am putea schimba modul în care îl măsurăm pe baza a ceea ce este. Dacă este o scândură de lemn, aș măsura-o în centimetri. Acest lucru este spre deosebire de un volum de apă, pe care l-aș măsura în greutate. Dacă folosim polimorfismul, putem crea o funcție care poate accepta oricare obiect și ne poate oferi totuși o măsurare sănătoasă.

limbaje de programare populare orientate pe obiecte

Java, Python, C++, Lisp și Perl sunt toate exemple de limbaje de programare populare orientate pe obiecte. Ei susțin programarea folosind paradigma claselor și obiectelor.

cinci dintre cele mai populare limbaje orientate pe obiecte includ:

  1. Java
  2. Python
  3. C++
  4. Ruby
  5. c#
  • Java – Java este peste tot, și este una dintre limbile cele mai utilizate și în cerere din toate timpurile. Motto-ul Java este ‘scrie o dată, rula oriunde,’ și care se reflectă în numărul de platforme se execută pe și locuri este folosit.
  • Python-Python este de uz general și utilizat în multe locuri. Cu toate acestea, Python are un punct de sprijin puternic în învățarea automată și știința datelor. Este una dintre limbile preferate pentru acest domeniu nou și în continuă creștere.
  • C++ – C++are viteza lui C cu funcționalitatea claselor și o paradigmă orientată pe obiecte. Este un limbaj compilat, fiabil și puternic. De fapt, este folosit chiar și pentru a construi compilatoare și interpreți pentru alte limbi.
  • Ruby-Ruby este un alt limbaj de programare cu scop general. A fost construit pentru simplitate. Acestea fiind spuse, Ruby este un limbaj incredibil de puternic. Creatorul Ruby, Yukihiro „Matz” Matsumoto, a spus: „Ruby este foarte simplu în aparență, dar este foarte complex în interior, la fel ca și corpul nostru uman.”
  • C – – C # este un limbaj de programare proiectat de Microsoft. Acesta a fost conceput pentru a îmbunătăți conceptele existente în C. C# powers Microsoft.NET framework alături de multe aplicații web, jocuri, aplicații desktop și aplicații mobile.

există și alte limbaje orientate pe obiecte pe care nu le-am acoperit mai sus. Perl, Objective-C, Dart, Lisp, JavaScript și PHP sunt toate orientate pe obiecte sau susțin principii orientate pe obiecte.

avantajele și dezavantajele limbajelor de programare orientate pe obiecte

în timp ce limbajele OOP pot fi puternice, ele nu sunt utile pentru fiecare situație și vin cu unele bagaje care trebuie luate în considerare.

Pro

reutilizarea

Codul orientat pe obiecte este extrem de modular prin design. Din cauza polimorfismului și a abstractizării, puteți face o funcție care poate fi utilizată din nou și din nou. De asemenea, puteți copia informații și funcționalități care au fost deja scrise cu moștenire. Acest lucru economisește timp, reduce complexitatea, economisește spațiu și face codificarea o sarcină mai ușoară pe degetele noastre.

dezvoltare paralelă

există suficiente temeiuri pentru ca părți ale programului să fie dezvoltate separat unele de altele și să funcționeze în continuare conform principiilor orientate pe obiecte. Acest lucru face dezvoltarea concurentă mult mai ușoară pentru echipele de dezvoltare mai mari.

întreținere

deoarece majoritatea, dacă nu toate, codului nostru se află într-un singur loc, fiind apelat și reutilizat, acel cod este mult mai ușor de întreținut. În loc să trebuiască să remediem individual o sută de cazuri diferite în care se numește o funcție, putem remedia o funcție modulară și polimorfă.

securitate

în timp ce majoritatea limbajelor au o anumită securitate, limbajele orientate pe obiecte sunt convenabile, deoarece securitatea este încorporată cu încapsulare. Alte metode și clase nu pot accesa datele private în mod implicit, iar programele scrise în limbile OOP sunt mai sigure pentru acestea.

modularitate

limbajele de programare orientate pe obiecte descompun o aplicație în obiecte și clase. Acest lucru este benefic, deoarece oferă aplicației dvs. o structură mai modulară. Codul Modular este mai ușor de citit. Prin urmare, este mai ușor de întreținut.

contra

adesea dezordonat

deoarece limbajele orientate pe obiecte sunt atât de personalizabile și scalabile, poate fi ușor să pierzi înțelegerea modului în care funcționează codul. Codul OOP poate funcționa în mai multe moduri. Există multe metodologii de programare în OOP care nu funcționează bine cu alte metodologii, sunt ineficiente sau sunt dificil de utilizat.

necesită mai multă planificare

deoarece aceste limbi sunt atât de modulare și scalabile, intrarea fără un design clar înainte de timp este o rețetă pentru dezastru. Crearea unui program eficient necesită un plan solid, mai mult decât cu alte paradigme de programare.

opacitate

Acest lucru este la fel de mult un pro ca este un con. obiecte și funcții pot funcționa independent. Ei pot lua informații și (de obicei) pot returna rezultate fiabile. Drept urmare, pot ajunge să fie cutii negre, ceea ce înseamnă că ceea ce fac nu este întotdeauna evident. În timp ce programatorul a creat probabil acel obiect și știe ce face, limbile OOP pur și simplu nu sunt la fel de transparente ca alte limbi.

Performance

limbajele orientate pe obiecte primesc adesea o lovitură de performanță. Programele realizate în limbile OOP sunt adesea mai mari și necesită mai mult efort de calcul pentru a rula decât limbile funcționale. Cu toate acestea, acest lucru nu este întotdeauna adevărat sau important. C++ este un limbaj OOP, dar este una dintre cele mai rapide limbi disponibile. Pe aceeași notă, viteza nu este întotdeauna importantă. Diferența de viteză devine evidentă numai atunci când se procesează calcule uriașe sau complexe sau în cazurile în care este necesară o viteză extremă.

acum aveți o înțelegere fermă a ceea ce este un limbaj orientat pe obiecte, la ce este bun și care sunt cele mai populare. Programarea în aceste limbi poate fi la fel de plăcută pe cât de profitabilă, iar cariera dvs. în dezvoltare este la doar câțiva pași distanță.