Scurtă prezentare

Noua denumire oficială a disciplinei este Programarea Calculatoarelor și Limbaje de Programare 2 (denumirea anterioară fiind Programare orientată pe obiecte, sau POO).
Aceasta este o disciplină obligatorie și face parte din trunchiul comun de pregătire în domeniul Programare/IT.

Acest model de programare își propune să se apropie cât mai bine de modul uman de a gândi și nu de modul de lucru al unui calculator. În timp ce în limbajele procedurale (sau structurate) – precum C sau Pascal – există o separare clară între date și unitățile care prelucrează datele (denumite funcții), în cadrul programării orientate pe obiecte datele și funcțiile pot fi grupate în cadrul unei clase. O clasă abstractizează modul de analiză și sinteză a problemei, are caracter general și desemnează o mulțime de obiecte care dețin aceleași proprietăți.

Pentru a trece de la o structură generală la una particulară se folosește conceptul de obiect. Obiectul reprezintă o instanță (un exemplar) pentru o clasă.

Ca avantaje, acest tip de programare prezintă în primul rând conceptul de încapsulare ceea ce înseamnă ascunderea informațiilor. Prin aceasta starea obiectelor nu se poate schimba din exteriorul clasei decât în anumite condiții, folosindu-ne de anumite metode prin care putem controla accesul la datele din clasă.

Un alt avantaj îl constituie polimorfismul ceea ce ne dă posibilitatea să procesăm obiectele în mod diferit în funcție de tipul sau clasa din care fac parte.

Nu în cele din urmă se folosește și conceptul de moștenire în care, pornind de o clasă de bază, putem prelua caracteristici ale acesteia (date și metode) în clasele derivate din clasa de bază. Această tehnică obiectuală ne permite să scriem cod mai puțin și, implicit, să refolosim codul deja scris.

La această disciplină se studiază limbajul C++ 2011 (standardizat).

Mai există și alte limbaje de tip obiect-orientat: Smalltalk, Java, Python – cele mai multe limbaje nou apărute bazându-se și folosind acest model de programare.