Cunoaște Intuit, curs, diagrama de clasă closeup

Relațiile dintre clase

Nici unul dintre obiectele din lumea din jurul nostru nu există de la sine. Păsările zboară deoarece există aer, care se bazează pe aripile lor. Fiecare dintre noi este legată de o serie de alte persoane, diverse legate de relațiile profesionale și de altă natură, ceea ce sugerează diferite tipuri de relații. În mod similar, clasele sunt legate. Și pentru a stăpâni pe deplin OEP. trebuie să înțelegem natura acestor relații și să învețe să le identifice.

Trebuie remarcat faptul că, în funcție de graficele nu descrie întotdeauna, dar numai în acele cazuri în care afișarea lor este importantă pentru înțelegerea modelului. De multe ori depinde numai implicite, t. Pentru a. Urmarea în mod logic din natura claselor.

Un alt tip de relație între obiecte - o asociație. E doar o legătură între obiectele pe care le puteți naviga între ele. Asociația poate avea un nume care indică natura relațiilor dintre obiecte, iar numele poate fi specificat în linia de comunicație citită folosind un marker triunghiular. asociație unidirecțională poate fi reprezentat printr-o săgeată. Ilustreaz exemplele de mai sus (Figura 3.11.):

În plus față de direcția asociației, putem indica o diagramă a rolului. că fiecare clasă joacă în acest sens, și multiplicitate. adică numărul de obiecte legate de raportul (Figura 3.12.):

Și ce despre rolul și despre multiplicitatea în această diagramă este clar - o persoană poate să nu funcționeze deloc, pentru a lucra într-una sau mai multe companii, dar compania, în orice caz, nevoie de cel puțin un membru al personalului. Vorbind de multiplicitate. Asociația poate fuziona trei sau mai multe clase. În acest caz, este numit de n-ary și este reprezentat de un diamant la intersecția liniilor, așa cum se arată în această diagramă, am împrumutat de la ZICOM Mentor (Figura 3.13.):

Mai devreme am spus că asociația - o „conexiune simplă“ între obiecte. De fapt, realitatea comunicării sunt „doar relații“ extrem de rare. În mod normal, o privire mai atentă la asocierea se referă la o relație complexă între clase, de exemplu, relația dintre „parte-întreg“. Acest tip de asociere se numește asociere cu agregare. În acest caz, o clasă are un statut superior (întreg) și este format din cel mai mic statut asupra claselor (părți). În același timp, emit agregare și simplu compozite și vorbesc despre agregarea reală și compoziția. Agregarea simplă presupune că partea separată de ansamblu, poate continua să existe independent de ea. Sub agregarea compozită se referă la o situație în care un întreg are părțile sale și timpul lor de viață corespunde timpului vieții întregului, adică. E. Indiferent de o parte nu poate exista. Exemple de aceste tipuri de asociații și simboluri în UML se poate observa în diagrama următoare (Fig. 3.14).

Exemple de modul în care ne gândim, este foarte simplu și ușor de înțeles. Hard drive poate fi scos de pe computer și a instala un nou calculator sau USB-buzunar T. E. Existența hard disk cu capetele dezasamblare unității de sistem. Dar nu butoane fereastra de obicei, nu poate exista - cu închiderea ferestrei butoane sunt, de asemenea, dispar.

Și, în sfârșit, un alt lucru important cu privire la asocierea. În legătură între două clase de asociere în sine pot avea de asemenea proprietăți și, prin urmare, poate fi reprezentat ca o clasă. Exemple de simplu (Figura 3.15.):

Într-adevăr, înainte de începerea raporturilor de muncă angajat și angajator semnează un contract cu unul de altul, care are atribute, cum ar fi, de exemplu, descrierea lucrării. calendarul punerii în aplicare a acestora, ordinul de plată și așa mai departe. d.

Și aici este mai complexă, dar, din nou, luat de la un exemplu din viața reală de modelare a relației dintre clase, împrumutate de către noi de la ZICOM Mentor (Figura 3.16.):

Știi povestea, familiar din copilărie?

  • Încapsularea protejează interiorul obiectului, iar dispozitivul este pus în aplicare prin restricționarea accesului la atributele de clasă și operațiuni ale celorlalte părți ale programului.
  • Generalizarea vă permite să reutilizeze soluțiile existente, crearea de noi clase de clase existente din moștenind.
  • Polimorfismul vă permite să lucrați cu un grup de diferite obiecte în același mod, fără a se gândi diferențele în punerea în aplicare.
  • Încapsularea, moștenire și polimorfism - cei trei piloni pe care se sprijină OEP.
  • În orice sistem, există diferite tipuri de relații între obiecte.
  • Dependența Raportul indică faptul că punerea în aplicare a unei clase depinde specificarea unei clase diferite de operații.
  • Asociația exprimă relația între mai multe entități la egal la egal și poate avea o direcție, iar multitudinea de roluri și portretizat ca o asociație de clasă.
  • Compoziția și agregare sunt utilizate în cazul în care există o relație, cum ar fi „parte-întreg“ între obiecte, în care compoziția sugerează că piesele nu pot fi separate de întreg.

întrebări de testare

  • Care sunt cele trei principii stau la baza OOP?
  • Care este interfața? La unele dintre principiile de bază ale mecanismului de interfață bazată pe OEP?
  • Ce este asociația n-are?
  • Care este diferența dintre agregare și compoziție?
  • Care este clasa asociației?