POO

Dacă programarea clasică, structurată, are la baza celebra ecuație a lui Nikolaus Wirth:

Program = Structuri de date + Algoritmi,  prin parafrazare, se poate spune că Programarea Orientata pe Obiecte este fundamentată de relația: Obiect = Date + Functii.

Diferența dintre cele doua paradigme de programare constă în maniera de abordare a programării. În timp ce programarea structurată se concentrează pe prelucrarea datelor, adică pe programe, proceduri si funcții, POO se bazează pe definirea obiectelor, adică, pe proprietățile acestora, numite date, si pe functiile ce se pot aplica acestor obiecte, numite metode.

Programarea Orientată Obiect (POO) este o paradigmă de proiectare și implementare modernă, în care programele sunt reprezentate sub forma unor colecții de obiecte care interacționează între ele, prin intermediul mesajelor. Principalele concepte care stau la baza POO sunt:


 * Abstractizarea


 * Încapsularea


 * Moștenirea

Cum spuneam, la baza POO stau conceptele de clasă și de obiect. Clasa, intr-un anumit limbaj de programare, reprezintă definirea unui tip de obiecte, adica descrierea proprietăților, a datelor și a metodelor, a prelucrărilor posibile asupra datelor. Clasa este, de fapt, o noțiune abstracta, care definește un anumit tip de obiecte, sau, altfel spus, o clasă reprezintă mulțimea posibilă a mai multor obiecte de același tip.
 * Polimorfismul

Obiectul, reprezintă o mulțime de date care descriu un anumit obiect,  împreună cu funcțiile de prelucrare a acestora. Crearea unui obiect presupune specificarea clasei din care face parte, astfel identificându-se proprietățile obiectului și modul în care acestea pot fi folosite și prelucrate.