Ideea POO este de a crea programele ca o colecție de obiecte, unități individuale de cod care interacționează unele cu altele, în loc de simple liste de instrucțiuni sau de apeluri de proceduri.
Obiectele POO sunt, de obicei, reprezentări ale obiectelor din viața reală (domeniul problemei), astfel încât programele realizate prin tehnica POO sunt mai ușor de înțeles, de depanat și de extins decât programele procedurale. Aceasta este adevărată mai ales în cazul proiectelor software complexe și de dimensiuni mari.
Principiile POO sunt:
1. abstractizarea – principiu care permite identificarea caracteristicilor și comportamentului obiectelor ce ţin nemijlocit de domeniul problemei. Rezultatul este un model. În urma abstractizării, entităților din domeniul problemei se definesc prin clase.
2. încapsularea – numită și ascunderea de informații, este caracterizată prin 2 aspecte:
2. încapsularea – numită și ascunderea de informații, este caracterizată prin 2 aspecte:
a. Gruparea comportamentelor și caracteristicilor într-un tip abstract de date
b. Definirea nivelului de acces la datele unui obiect
3. moștenirea – organizează și facilitează polimorfismul și încapsularea permițând definirea si crearea unor clase specializate plecând de la clase (generale) care sunt deja definite – acestea pot împărtăși (și extinde) comportamentul lor fără a fi nevoie de redefinirea aceluiași comportament.
4. Polimorfismul – posibilitatea mai multor obiecte dintr-o ierarhie de clase de a utiliza
denumiri de metode cu acelaşi nume dar, cu un comportament diferit.
3. moștenirea – organizează și facilitează polimorfismul și încapsularea permițând definirea si crearea unor clase specializate plecând de la clase (generale) care sunt deja definite – acestea pot împărtăși (și extinde) comportamentul lor fără a fi nevoie de redefinirea aceluiași comportament.
4. Polimorfismul – posibilitatea mai multor obiecte dintr-o ierarhie de clase de a utiliza
denumiri de metode cu acelaşi nume dar, cu un comportament diferit.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HelloWorldCS { class Program { static void Main(string[] args) { Console.WriteLine("Hello World"); Console.ReadKey(); } } }