Alegerea abstractizare determinată de complexitatea sarcinii la îndemână. În această tehnologie sofisticată utilizare lipsită de sens pentru a rezolva probleme simple, dar la fel de inutil pentru a rezolva probleme complexe fără utilizarea tehnologiilor respective. Instrumentul utilizat trebuie să fie adecvate pentru sarcina la îndemână și un model de organizare a cunoașterii.
Următoarea etapă de programare este o programare orientat-obiect (OOP), principiile de bază care au fost dezvoltate mai mult în limba Simula 67.
Baza OEP este introducerea conceptului de obiect și relațiile dintre ele.
Un obiect este un tip de date definit de utilizator. In aceasta programatorul specifica proprietățile unor fenomene (obiect sau proces) pentru a forma câmpurile de date și algoritmii de procesare a acestora, în formă de rutine specifice, numite metode. Deoarece orice tip de date (standard sau definite de utilizator) definește o reprezentare internă a acestui tip de date în memoria calculatorului o multitudine de valori care poate lua acest tip de date, precum și un set de operații permise și metode de prelucrare, atunci tot ce poate fi setat în descrierea obiectului.
Detaliile de implementare a unui obiect ascuns de utilizator al interfeței, care este titlul metodelor sale.
Date specifice de acest tip sunt numite instanțe de obiecte.
Utilizarea OOP implementat așa-numitele „Modelul condus de un eveniment“, în care metoda de control al apelului de date activă a unei prelucrări (adică, un cod de program fragment).
Principalele proprietăți ale OOP sunt încapsulare, moștenire și polimorfism.
Încapsularea - o asociație a datelor și algoritmi de prelucrare (rutine), în care ambele date și subrutină pierd în mare măsură semnificația lor independentă. Ca urmare, atunci când scrieți programe elimină erorile asociate cu procesarea datelor, care nu sunt destinate pentru această subrutină. Încapsularea crește nivelul de abstractizare al programului, care sunt ușor de modificabile.
moștenire vă permite să construiască o bibliotecă de obiecte pe principiul „de la simplu la complex.“ Această tehnologie de programare pune în aplicare tehnologia de programare în creștere.
Polimorfismul - este abilitatea de a folosi obiectele legate de diferite nivele ale ierarhiei cu același nume pentru a desemna similare, în sensul acțiunii. Acest lucru permite dezvoltarea obiectelor descendente nu completează numai metodele obiect părinte, dar, de asemenea, pentru a le înlocui cu reținerea nou nume.