Объекттің локал жадысы. Инкапсуляция принципі
Объекттің локал жадысы ӛз құрылымына ие. Програмалаудың әртүлі тілдерінде объекттің локал жадысының құрылымдық бірлігін белгілеу үшін түрлі термин қабылданған. Мысалы, ӛріс (Турбо Паскальда), объект жағдайының айнымалысы(Си++-те), немесе экземплярайнымалы(Смолток-та).
ОБП идеясы нақты объекттің тәсілдері ғана оның локал жадысымен жұмыс істей алады дейді, және локал жадының құрылымы тәсілдің ішінде ғана белгілі деп есептейді. Осы кӛзқарас тұрғысынан «Бұл тәсіл объекттің мынадай айнымалысының (ӛрісінің) мәнін қайтару үшін қызмет етеді» деу дұрыс емес. Ӛйткені сырт кӛзге объекттің локал жадысында осындай айнымалының бар екендігі белгісіз.
Мысалы, жолаушы лифтінің мінез-құлқын моделдейтін объектті сипаттайтын болсақ, және локал жадының passengerCount деп аталатын бір ұяшығында кабинадағы жолаушылардың ағымдық саны сақталса, онда «кабинадағы жолаушылар санын қайтаратын» тәсіл құруға болады. Бірақ, ол туралы «passengerCount ӛрісінің мәнін қайтаратын» тәсіл деп айту дұрыс емес (ол осылай жұмыс істеуі де мүмкін).
Жоғарыда айтылған мәліметтерді қорытындылай келе, объекттерді «қара жәшік» ретінде елестету мүмкін, оның кірісіне қайсыбір әсер(хабарлама) беріледі, ал шығысынан жауап сигналы(нәтиже) алынады. Қара жәшіктің ішінде дәл не орындалатындығы, оның құрылымы– сырткӛзге кӛрінбейді.
Инкапсуляция принципі объектпен тек бір бүтін ретінде ғана жұмыс істеуді талап етеді. Объектті бір бүтін ретінде құруға, кӛшіруге, жоюға немесе «қолынан келетін нәрсені ӛтініш етуге»(хабарлама жіберуге) болады. Бірақ, сырттан тұрып объекттің бӛлігіне(ӛрісіне) қол жеткізуге болмайды.
Паскальда Си++, Смолток және ОБП-ң басқа тілдерінде объект ӛрісі ретінде басқа бір объектті алуға болады. Бұл жағдайда инкапсуляция принципі бойынша тәсілдің ішінде мұндай объект-ӛріспен жұмыс тек хабарлама жіберу жолымен жүргізілуі керек. Объект-ӛрістердің ӛрісіне қолжеткізу тек олардың ӛз тәсілдері арқылы мүмкін болады.
Достарыңызбен бөлісу: |