Programarea orientată pe obiecte

Programarea orientată pe obiecte

Programarea orientată spre obiecte (OOP) permite descompunerea problemei în părțile sale componente, fiecare dintre care devine un obiect independent. Fiecare obiect conține propriul cod și datele sale, care au legătură cu obiectul.

Orice program scris în limba OEP, reflectă în starea sa de date ale obiectelor fizice sau concepte abstracte - facilitati de programare, de a lucra, pentru care este destinat.

Toate datele despre programarea obiectului și relația sa cu alte obiecte pot fi combinate într-o singură variabilă structurată. Într-o primă aproximare, acesta poate fi numit obiect.

Un obiect este asociat un set de acțiuni, metode de altfel cunoscute. Din punct de vedere al unui set de limbaj de programare act sau practică - este o funcție primește ca parametru obligatoriu un pointer la obiect și pentru a efectua anumite acțiuni cu programarea obiect de date. Tehnologia OOP interzice lucrul cu un alt obiect decât prin metode, astfel, structura internă a unui obiect este ascuns de către un utilizator extern.

Descrierea setului de obiecte similare, se numește o clasă.
Obiect - o variabilă structurată, care conține toate informațiile despre un obiect fizic sau implementat în conceptul de program.

Clasa - o descriere a setului de obiecte de programare (obiecte) și acțiunile efectuate pe ele.

Clasa poate fi comparat cu desenul, potrivit căruia sunt create obiectele. În mod normal, clase sunt în curs de dezvoltare în așa fel încât instalațiile lor respectă sarcina de obiecte de domeniu la îndemână.

Concepte de bază ale programării orientate pe obiecte

Orice funcție în program este o metodă pentru un obiect dintr-o anumită clasă.

Clasa trebuie să apară în program într-un mod natural, de îndată ce este necesar pentru a descrie noile obiecte de programare. Fiecare nou pas în dezvoltarea algoritmului ar trebui să fie dezvoltarea unei noi clase bazate pe cele existente.

Întregul program în această formă este un obiect de clasă cu rula numai metoda (executa).

Programarea „de la clasa la clasa“ include o serie de noi concepte. Conceptele de bază sunt PLO

Încapsularea datelor (de la „capsulă“) - un mecanism care reunește datele și codul care manipulează aceste date, precum și protejează una și cealaltă de la un amestec din afară sau utilizarea necorespunzătoare. În OOP, codul și datele pot fi combinate împreună (într-o așa-numită „cutie neagră“), atunci când obiectul este creat.

În interiorul codul obiect și datele pot fi deschise sau închise.

Codurile închise sau date sunt disponibile numai pentru alte părți ale aceluiași obiect și, în consecință, nu sunt disponibile pentru acele părți ale programului care există în afara obiectului.

Open source și de date, pe de altă parte, sunt disponibile tuturor părților programului, inclusiv în alte părți ale aceluiași obiect.

Moștenirea. sau o nouă clasă, derivate pot fi definite pe baza clasei existente sau a unei baze.

Cu această nouă clasă păstrează toate proprietățile vechi: baza de date de date obiect de clasă incluse în obiectul derivat, și metodele clasei de bază poate fi invocată pentru obiectul de clasă derivată, și ei vor fi efectuate asupra datelor incluse în acestea obiecta clasa de baza.

Cu alte cuvinte, noua clasă moștenește ca o clasă de date vechi, și metodele lor de prelucrare.

În cazul în care obiectul moștenește proprietățile sale de la un părinte, atunci vorbim despre o singură moștenire. În cazul în care obiectul moștenește datele și metodele din clasele de bază multiple, vorbim de moștenire multiplă.

EXEMPLU moștenire - structură definiție membru separat, care este structura definită anterior.

Programarea orientată pe obiecte

Polimorfismul - o facilitate care permite același identificator (același nume) de a utiliza pentru soluția a două sau mai multe sarcini similare, dar punct de vedere tehnic diferite.

Scopul polimorfism în raport cu OEP, este de a utiliza un nume pentru a defini acțiunile care sunt comune unui număr de clase de obiecte. Acest polimorfism se bazează pe posibilitatea de a include în obiectul de date și, de asemenea, informații cu privire la metodele de tratament (sub formă de indicii funcție).

Acesta este disponibil la un moment dat în obiectul de program. chiar și în absența unor informații complete despre tipul, poate întotdeauna corect să-l numesc o metode specifice.
Funcția Polimorfism - o familie de funcții cu același nume, dar efectua acțiuni diferite, în funcție de condițiile de apel.

De exemplu, găsirea valoarea absolută în limbajul C necesită trei funcții diferite, cu nume diferite:

int abs (int);
laboratoare int lung (long int);
fabs duble (double);

In C ++, poate fi descrisă ca o funcție polimorfa care va avea același nume și diferite tipuri și seturi de argumente.