Una dintre întrebările care nu lipseşte la un interviu tehnic, fie el pe programare ABAP sau pe orice alt limbaj de programare, este cea legată de principiile programării orientate obiect. În principiu această întrebare le este adresată candidaţilor pentru o poziţie de junior sau chiar middle, deoarece este o modalitate uşoara pentru intervievator să îşi facă o părere despre următoarele lucruri:
- S-a pregătit candidatul pentru acest interviu?
- Răspunsul candidatului este doar din punct de vedere teoretic, ceea ce denotă doar o pregatire acumulată din diverse tutoriale?
- Cât de clar poate să explice candidatul principiile orientării obiect?
Vom lua rând pe rând conceptele orientării obiect încapsularea, abstractizarea, moştenirea şi polimorfisumul şi le vom explica pe întelesul tuturor, deoarece uneori căutarea unor explicaţii pe internet amplifică şi mai mult confuzia referitoare la aceşti termeni şi din această cauză îmi doresc să ofer o explicaţie simplă, scurtă şi clara pentru fiecare dintre aceste concepte.
Înainte de a trece la principii, aş dori să trecem în revistă noţiunile de clasă şi obiect, pentru o întelegere mai bună a principiilor.
În lumea în care traim suntem obişnuiţi să vedem în jurul nostru diferite entităţi (oameni, clădiri, animale etc), toate acestea caraterizate prin însuşiri proprii şi actiuni proprii. De exemplu oamenii au ca şi însuşiri culoarea părului, culoarea ochilor, numele şi au diverse acţiuni: merg, aleargă, manâncă etc.
Toate obiectele care prezintă caracteristici (însuşiri) și comportamente (acţiuni) similare pot fi grupate într-o clasă. Astfel, o clasă poate fi definită ca un şablon pentru realizarea de obiecte cu caracteristici și comportamente similare. În concluzie am putea avea clasa oameni, clasa animale, clasa cladiri etc.
În fiecare clasă putem să avem diferite obiecte, de exemplu în clasa de oameni am putea să avem 3 persoane: Mihnea, Andrei, George, în clasa animale am putea avea 3 obiecte: pisica, caine, urs, iar în clasa clădiri: casă, bloc, clădire de birouri.
In programarea orientă obiect vom lucra cu diferite clase şi obiecte de natura virtuală, dar care păstreaza ideea de baza, clasele sunt sabloane sau templateuri pentru realizarea unor obiecte. Obiectul este conceptul de bază în programarea orientata obiect care asociază caracteristicile ( însuşirile, denumite şi atribute sau date) cu comportamentele corespunzătoare (acţiuni sau operaţii, denumite şi metode).
Iată şi un exemplu vizual pentru a întelege mai bine:
In acest exemplu avem o clasă masina care are 3 atribute (însusiri) şi 2 metode (acţiuni). Atributele sunt marca, model, an fabricatie, iar metodele sunt accelerează şi frânează. Această clasă se foloseste ca un şablon pentru realizarea obiectelor. Avem 3 obiecte (adică 3 maşini), fiecare cu propriile caracteristici.
Principiile programării orientate obiect:
1.Abstractizarea
Abstractizarea presupune reducerea la un model simplu a tuturor proprietăţilor şi metodelor de care dispune un obiect. Astfel realizarea unei clase (şablon) care ne arată ce proprietăţi si ce metode vor avea obiectele, reprezintă tocma
Tot prin abstractizare avem posibilitatea ca un program să ignore unele aspecte ale informației pe care o manipulează, adică posibilitatea de a se concentra asupra esențialului. De exemplu o masină poate fi vazută din punctul de vedere al unui proprietar sau din punctul de vedere al unui mecanic. Pentru un proprietar va conta probabil culoarea masinii, anul de fabricatie, marca, modelul etc., în timp ce pentru un mecanic va conta componentele mecanice, greutatea, puterea motorului, inspecţiile tehnice etc.
2. Incapsularea
3.Mostenirea
4.Polimorfismul
0 responses on "Principiile programarii orientate obiect"