Skirtumas tarp pasyvaus objekto ir aktyvaus objekto UML

...

UML padeda supaprastinti vidinės programos logikos atvaizdavimą.

„Vieningoji modeliavimo kalba“ arba UML yra kalba, skirta parodyti, kaip sutvarkyta programinė įranga; inžinieriai gali naudoti UML informacijos srautui programoje brėžti, kad galėtų geriau suprasti, kaip ją galima supaprastinti ar pakeisti. Modeliuodamas informacijos srautą, UML išskiria „aktyvius objektus“, kurie gali inicijuoti tą srautą, ir „pasyviuosius objektus“, kurie negali.

Objektai ir klasės

Kalbant apie vadinamąjį „objektinį“ programavimą, kompiuterių mokslas išskiria „objektą“ ir „klasę“. Klasė yra a apibendrintas dalykų rinkinio aprašymas, pvz., kintamieji ar metodai, tuo tarpu „objektas“ yra tos klasės „atstatomas“, turintis savo unikalų. savybių. Pagalvokite apie klases kaip apie planą ar šabloną; fiziniame pasaulyje „rašymo priemonė“ gali būti laikoma klase su „rašiklio“ arba „oranžinės kreidelės“ pavyzdžiais to konkretaus klasės „objektų“ pavyzdžiais.

Dienos vaizdo įrašas

Objektai UML

UML išsaugo panašų skirtumą tarp klasių ir objektų, ir jie vaizduojami vienodai; UML klasėse yra platūs aprašymai, o UML objektuose yra konkrečios reikšmės, kurios atspindi tų aprašų egzempliorius. Taigi formaliai kalbant, UML „aktyvus objektas“ yra bet koks „aktyvios klasės“ egzempliorius ir panašiai „pasyvus“. objektas“ yra „pasyviosios klasės“ pavyzdys – teorine prasme šiuos terminus galite laikyti iš esmės keičiamas.

Aktyvūs objektai

UML aktyvios klasės, taigi ir aktyvūs objektai, egzistuoja savo operacijų gijoje ir turi savo adresų erdvę. Jei vykdymas arba kodo veikla vertinama kaip srautas, aktyvūs objektai gali pradėti arba valdyti tą srautą. Kitaip tariant, aktyvūs objektai yra nuoseklūs ir kažką daro: modifikuoja kintamuosius, keičia programos elgesį ir pan. UML aktyviosios klasės ir objektai išsiskiria storesne kraštine nei pasyvieji objektai.

Pasyvūs objektai

Pasyvieji UML objektai paprastai neturi galimybės keisti arba pradėti vykdymo eigos, nes jie turi laukti, kol juos iškvies kitas objektas. Vietoj to, pasyvūs objektai paprastai naudojami informacijai saugoti, ir daugeliu atvejų ši informacija gali būti dalijamasi tarp kelių kitų objektų. Tai gali leisti pasyviuosius objektus pasiekti vienu metu, o ne nuosekliai. Siekiant užtikrinti, kad viduje esantys duomenys būtų vientisai, UML leidžia pasyviems objektams reikalauti, kad jie būtų pasiekiami nuosekliai; jei dvi gijos bando iškviesti tą patį nuoseklų pasyvųjį objektą, tas objektas gali atidėti antrą giją, kol pirmoji baigs.