Conceptul de obiecte
Obiectul - este un termen general și larg, care pot avea interpretări diferite. În general, obiectul - este orice entitate care are un set de proprietăți și are un anumit comportament. Rezultă că obiectul poate fi aproape orice - obiecte materiale (un calculator, o mașină, o persoană), concepte logice (document, fișier, structura de date, fereastra într-un sistem multi-grafica), concepte matematice (de exemplu, obiecte geometrice, cum ar fi un segment, cerc ).
Un obiect în sens restrâns poate fi înțeleasă o descriere considerată formalizată esență, adică model. Pentru această descriere nevoie de limbaj, de exemplu - un limbaj de programare. În acest caz, obiectul devine parte a limbii, și, în acest context, va fi luată în considerare. Modelarea obiectelor reale - aceasta este cea mai importantă etapă în dezvoltarea programelor de obiect, determină în mare măsură succesul proiectului. Trebuie înțeles faptul că orice model - este doar o parte a obiectului simulat inițial, care reflectă calitățile și atributele obiectului care sunt cele mai importante din punct de vedere al problemei fiind rezolvată. Schimbarea formularea problemei poate conduce la schimbări semnificative ale modelului. Acest lucru este tipic pentru obiecte complexe. Se face prea mult sens pentru a construi un model comprehensiv „pentru toate ocaziile“, deoarece un astfel de model va fi foarte dificil și practic inutilizabile. Prin urmare, una dintre cele mai importante principii de construire de modele - principiul abstractizare. și anume identificarea caracteristicilor esențiale ale obiectului sursă, și aruncând detaliile minore.
Rezultă că, pentru același obiect original pe care se poate construi modele diferite, fiecare dintre care va reprezenta doar unele dintre cele mai importante caracteristici ale obiectului.
De exemplu, pentru sursa de „omul“ obiect poate construi un model de următoarele informații:
· O persoană ca student al instituției
· Omul ca un angajat
· O persoană ca pacient instituții de îngrijire a sănătății
· Omul ca secția afacerilor interne etc.
Pentru o descriere a obiectului pe care trebuie să specificați proprietățile (parametrii, caracteristici), și să descrie comportamentul său - pentru a crea un set de rutine, numite metode de obiect. Proprietățile obiectelor sunt descrise ca un câmp de date convenționale. În timpul programului în care sunt stocate valorile corespunzătoare. Tipurile majore de proprietăți sunt:
· Tipuri de primitive simple (număr întreg, șir de caractere, real, boolean);
· Tipuri structurate (matrice, înregistrare sau structură);
· Proprietățile obiectelor care reprezintă obiecte de același tip sau de o natură diferită.
Prezența proprietăților obiectelor este o manifestare a metodelor de obiecte de interacțiune - așa-numitul kotorayabolee agregare discutat în detaliu în secțiunea 2.2.
Un set de proprietăți obiect este creat în descrierea obiectului și să nu fie modificat ulterior. Așa cum se poate da ca exemple de proprietăți:
· Nume de fișier obiect, dimensiunea, data, tipul;
· Poziția pe ecran fereastra Obiect, dimensiune, tip, fundal de umplere, de tip cadru, titlul de înregistrare;
· Obiect auto: prețul, tipul, modelul, dimensiunea motorului, culoare, etc;.
· Object-elev: nume, grup, de specialitate, de evaluare;
· Object-cerc: coordonatele centru, raza, starea de vizibilitate, de culoare.
Comportamentul obiect este descris de un set de metode. Fiecare metodă - codul, emis sub forma unei funcții. Combinarea cu datele prelucrate (proprietăți) și un cod de program pentru procesarea lor (adică, metode) se numește principiul încapsulare. Acest principiu este unul dintre OOP de bază. Dacă există funcții de date și de prelucrare anterioare, în mod independent unul de altul, abordarea obiect, ele formează o nouă entitate - obiect. Cu alte cuvinte, obiectul în sine este responsabil pentru prelucrarea datelor lor. Acest lucru permite o diviziune mai clară a responsabilităților în cadrul programului de obiect. Obiectul poate fi privit ca o „cutie neagră“, care efectuează un anumit set de funcții. Punerea în aplicare a acestor funcții nu trebuie să privesc utilizatorul clientului, este suficient să se știe că un obiect oferă un set de servicii.
În ciuda varietății de obiecte de natură diferită, următoarele grupe de metode inerente în aproape toate obiectele.
1. constructori si destructori. Designer este responsabil pentru crearea unui obiect nou, și anume această alocare de memorie obiect și inițializare a memoriei primare. Se numește înainte de constructor orice alte metode. Importanta este definita de proiectant, este garantat că creează un obiect cu unele valori inițiale ale proprietăților. Acest lucru elimină o întreagă clasă de erori logice neplăcute, cum ar fi utilizarea variabilelor neinițializate.
Pentru unul și același obiect poate fi furnizat mai mulți constructori diferiți, care proprietăți diferite ale noului obiect este inițializată. Valorile inițiale ale proprietăților sunt adesea transmise ca parametri de intrare pentru constructor. Destructorul este responsabil pentru distrugerea obiectului, adică, ușurării memoriei alocate obiectului. Spre deosebire de constructori, destructori mecanismul nu este pus în aplicare în toate limbile orientate-obiect.
2. Metodele prin care să cunoască valoarea curentă a anumitor proprietăți. De obicei, pentru fiecare proprietate devine propria sa metodă de accesare a valorii stocate în acesta. Metode acceptate de atribuire a acestor denumiri compuse din două părți - un prefix Ia și numele proprietății corespunzătoare, de exemplu - GetColor, getname, GetPrice. Astfel de metode de obicei Ia-formalizată ca funcții care returnează o valoare a proprietăților corespunzătoare.
3. Metodele care sunt responsabile pentru modificarea valorii unuia sau mai multor proprietăți. Ei au decis să înceapă cu setul prefix, de exemplu, setcolor, setName, SetPrice. Valorile de proprietate noi sunt transmise ca parametrii Set-metode. În ciuda unor asemănări sintactice, este necesar să se facă distincția între acțiunile realizate de designeri și set-metode: constructorul creează un obiect nou, și Set-metoda modifică numai valoarea uneia sau mai multor proprietăți pentru un obiect deja creat. Destul de des, Set-metode inainte de a schimba valorile de proprietate să lucreze suplimentar, de exemplu - a verifica noile valori de proprietate.
Disponibilitatea Set / Get-metodă datorită faptului că, în conformitate cu principiul proprietăților încapsularea obiectului ar trebui să fie închise la un amestec din afară. Accesul la proprietățile trebuie să fie efectuate numai prin apeluri pentru a beneficia / Set-metode. În acest caz, detaliile de implementare internă a obiectului de stocare sunt complet închise de la utilizatori. Un set de metode accesoare definește un obiect de interfață deschisă.
În plus față de aceste metode, obiectul are adesea un unele metode unice de determinare a funcționalității obiectului mai specific și. De exemplu:
· Lista de obiecte: adăugați, ștergeți și căutați elementul;
· Fereastra obiect: în mișcare, atribute schimbare, afișare;
· Obiect auto: pornirea motorului, accelerare / decelerare, rotația;
· Obiect-elev: participarea, executarea sarcinilor, înmânarea puncte de control de școlarizare;
· Object-cerc: display, muta, întindere / compresa.
Ca urmare, programul obiect este un set de obiecte care interacționează care se referă la reciproc pentru punerea în aplicare a acțiunilor necesare. Astfel, fiecare obiect trece un anumit ciclu de viață: este creată de un designer, si este folosit de alte obiecte este distrus. Este evident că un număr de obiecte similare (mai multe fișiere, mai multe ferestre, mulți studenți) pot exista simultan. Prin urmare, are nevoie de un instrument de descriere formală a acelorași obiecte și ca un astfel de instrument este un concept important al abordării obiective - clasa.