Esența abordării orientate-obiect la programare (clase)

Esența abordării orientate-obiect la programare (clase)

Acasă | Despre noi | feedback-ul

Ideile de bază ale abordării orientate pe obiecte se bazează pe următoarele prevederi:

  • Programul este un model al unui proces real, parte a lumii reale.
  • Modelul lumii reale sau al părților sale poate fi descris ca un set de obiecte care interacționează.
  • Obiectul este descris de un set de parametri ale căror valori determină starea obiectului și setul de operații (acțiuni) pe care un obiect le poate efectua.
  • Interacțiunea dintre obiecte se realizează prin trimiterea de mesaje speciale de la un obiect la altul. Mesajul primit de obiect poate necesita anumite acțiuni, de exemplu schimbarea stării obiectului.
  • Obiectele care sunt descrise de același set de parametri și capabile să realizeze același set de acțiuni reprezintă o clasă de obiecte similare.

Din punct de vedere al unei clase de obiecte ale limbajului de programare poate fi văzută ca un tip de obiecte individuale - ca aceasta de acest tip. Definiția claselor de obiecte proprii al programatorului pentru un anumit set de sarcini ar trebui să permită pentru a descrie problema specifică în ceea ce privește clasa de probleme (cu o alegere corespunzătoare a numelor de tip și numele obiectelor, parametrii lor și fluxul de lucru).

Astfel, abordarea orientată pe obiecte presupune că, atunci când se dezvoltă un program, clasele de obiecte folosite în program trebuie determinate și să fie construite descrierile acestora, apoi se creează instanțe ale obiectelor necesare și se determină interacțiunea dintre ele.

Clasele de obiecte sunt adesea construite astfel încât să formeze o structură ierarhică. De exemplu, clasa „elev“, care descrie rezumatul studentului, poate servi ca bază pentru clasele de construcții „Student 1 curs“, „studenții anul 2“, etc. care posedă toate proprietățile elevului în general și câteva proprietăți suplimentare care caracterizează elevul unui anumit curs. La proiectarea interfața cu utilizatorul a programului poate utiliza clasa generală a obiectelor „fereastra“ și obiecte de clase speciale de ferestre, de exemplu, cutii de mesaje informative și de date cutii de intrare, etc. În astfel de structuri ierarhice, o clasă poate fi considerată ca clasă de bază pentru alte clase derivate din ea. obiectul de clasă derivată are toate proprietățile clasei de bază, precum și unele proprietăți ale propriei sale, acesta poate răspunde la aceleași tipuri de mesaje de la alte obiecte ca un obiect de clasă de bază și mesaje care au sens numai la clasa derivată. Se spune de obicei că un obiect de clasă derivat moștenește toate proprietățile clasei sale de bază.

Unul dintre cele mai importante concepte de C ++ este clasa. O clasă este un mecanism pentru crearea de noi tipuri.

Sintaxa pentru descrierea clasei este similară cu sintaxa pentru descrierea structurii.

Membrii închisi sunt membri ai clasei

Membrii deschisi sunt membri ai clasei

Ce ar trebui să caut aici?

proiecție dublă (_3d r);

În C ++, este obișnuit să folosiți cuvântul cheie de clasă pentru a crea obiecte.

Deși mod () și proiecție (_3d r) sunt declarate în _3d, ele nu sunt definite încă. Pentru a defini o metodă membru, trebuie să asociați numele clasei, a cărui metodă este parte, cu numele clasei. Acest lucru se realizează scriind numele funcției după numele clasei cu două coloane. Două colonii se numesc operațiuni de expansiune a domeniului.

returnează sqrt (x * x + y * y + z * z);

dublu _3d :: proiecție (_3d r)

retur (x * r.x + y * r.y + z * r.z) / mod ();

Articole similare