www.wikidata.uk-ua.nina.az
Zmist 1 Osnovni aspekti 2 Naukova shkola 2 1 Shkola programologiyi ta yiyi zastosuvan 3 Kompozicijnij pidhid v ob yektno oriyentovanomu programuvanni 3 1 Opis zavdannya 3 2 Stvorennya klasiv chastin 3 3 Stvorennya klasu kontejnera 4 Literatura 5 Zovnishni posilannyaOsnovni aspekti red Sered najvazhlivishih programnih ponyat i principiv vidilyayutsya ponyattya kompoziciyi i princip kompozicijnosti yakij tlumachit programi yak funkciyi sho buduyutsya z inshih funkcij za dopomogoyu specialnih operacij nazvanih kompoziciyami Princip kompozicijnosti stav osnovnim v kompozicijnomu programuvanni Kompoziciyi klasifikuyutsya rivnyami danih i funkcij a takozh tipami argumentiv Eksplikaciya kompozicij vidpovidaye abstraktnomu rozglyadu funkcij yak slaboaplikativnih funkcij a yih utochnennya buduyetsya na osnovi ponyattya determinanta kompoziciyi yak vidobrazhennya specialnogo tipu Klas aplikativnih kompozicij priznachenij dlya konstruyuvannya shirokogo klasu program Naukova shkola red Shkola programologiyi ta yiyi zastosuvan red Naukovi kerivniki shkoli Redko Volodimir Nikiforovich doktor fiziko matematichnih nauk profesor akademik NAN Ukrayini Nikitchenko Mikola Stepanovich doktor fiziko matematichnih nauk profesor zaviduvach kafedri teoriyi ta tehnologiyi programuvannya Osnovni napryami naukovih doslidzhen kompozicijne programuvannya ta jogo suchasni varianti eksplikativne ta etalonne programuvannya teoriyi deskriptivnih ta deklarativnih programnih algebrayichnih struktur yaki vistupayut formalnimi ta adekvatnimi modelyami struktur danih program ta zasobiv yih konstruyuvannya teoriya kompozicijno nominativnih logik oriyentovanih na modelyuvannya predmetnih oblastej ta specifikaciyu programnih sistem teoriya baz danih ta znan teoriya abstraktnoyi obchislyuvanosti rozrobka naukomistkih informacijnih tehnologij ta sistem riznomanitnogo priznachennya Kompozicijnij pidhid v ob yektno oriyentovanomu programuvanni red She odniyeyu osoblivistyu ob yektno oriyentovanogo programuvannya ye mozhlivist realizovuvati tak zvanij kompozicijnij pidhid Polyagaye vin v nastupnomu ye klas kontejner yakij vklyuchaye v sebe vikliki inshih klasiv U rezultati vihodit sho stvoryuyuchi ob yekt klasu kontejnera mi odnochasno stvoryuyemo i ob yekti vklyuchenih do nogo klasiv Shob zrozumiti navisho potribna kompoziciya v programuvanni mozhna yak zavzhdi provesti analogiyu z realnim svitom Tak perevazhna bilshist prirodnih biologichnih i tehnichnih ob yektiv skladayutsya z inshih bilsh prostih chastin po svoyij suti yaki takozh ye ob yektami Napriklad lyudina skladayetsya z riznih organiv serce shkira ta in Komp yuter z riznogo zaliza procesor OZU disk i t d Slid rozumiti sho kompoziciya ta spadkuvannya dosit rizni vlastivosti realnih i virtualnih sistem Spadkuvannya peredbachaye prinalezhnist do yakoyis spilnosti shozhist a kompoziciya formuvannya cilogo z chastin She raz pri stvorenni ob yekta sho nalezhit klasu kontejneru avtomatichno stvoryuyutsya ob yekti chastini z yakih vin nibi skladayetsya Vlastivosti i metodi ob yektiv chastin viznachayutsya v yih klasah Programisti mozhut stvoryuvati cili kolekciyi vbudovanih klasiv Rozglyanemo vikoristannya kompoziciyi pri programuvanni na Python za dopomogoyu konkretnogo prikladu Opis zavdannya red Dlya pochatku virishimo ce zavdannya logichno Kimnata ce pryamokutnij paralelepiped sho skladayetsya z shesti pryamokutnikiv Jogo plosha yavlyaye soboyu sumu plosh skladovih jogo pryamokutnikiv Plosha pryamokutnika dorivnyuye dobutku jogo dovzhini na shirinu Shpaleri kleyatsya tilki na stini otzhe ploshi verhnogo i nizhnogo pryamokutnikiv nam ne potribni Plosha odnogo pryamokutnika dorivnyuye x z drugogo u z Protilezhni pryamokutniki rivni znachit zagalna plosha chotiroh pryamokutnikiv bude dorivnyuye S 2xz 2yz 2z x y Potim z ciyeyi ploshi treba bude vidnyati zagalnu ploshu dverej i vikon Dveri i vikna ce pryamokutniki yak obchisliti yih ploshu maye buti zrozumilo Stvorennya klasiv chastin red Teper pristupimo do stvorennya programi U vidpovidnist z doslidzhuvanoyi temoyu napisati yiyi treba vikoristovuyuchi ob yektno oriyentovanu paradigmu programuvannya ta she j zastosovuyuchi kompozicijnij pidhid Mozhna pomititi sho faktichno u nas ye tri tipi ob yektiv ce ob yekti vikna ob yekti dveri i ob yekti kimnati Vihodit tri klasi Vikna ta dveri ye chastinami primishennya a znachit mozhut stvoryuvatisya useredini klasu kimnati Krim togo dlya danoyi zadachi istotne znachennya mayut lishe dvi vlastivosti dovzhina i shirina Tomu klasi vikna i dveri mozhna ob yednati v odin Zrozumilo sho yaksho dlya zavdannya buli b vazhlivi inshi vlastivosti napriklad tovshina skla material to mozhlivo varto bulo b stvoriti dva klasi class Win Door def init self x y self square x y Tut pri vikliku klasu Win Door bude avtomatichno stvorenij atribut square ob yekta yakij ye posilannyam na znachennya ploshi ob yekta Stvorennya klasu kontejnera red Mozhna po riznomu realizuvati klas kontejner Ye pidozra sho bagato zalezhit vid zadachi rozv yazuvanoyi programistom jogo majsternosti i smaku Klasi chastini mozhna viklikati v metodi init tim samim ob yekti chastini budut avtomatichno stvoryuvatisya pri stvorenni ob yekta kontejnera Prote v danij zadachi mi pidemo inshim shlyahom vikna i dveri budut stvoryuvatisya specialnim dlya cih cilej metodom Takozh klas povinen mistiti metod dlya obchislennya ploshi neobhidnih shpaler wallpapers V kinci mozhna dodati metod v yakomu realizovanij visnovok tih chi inshih danih class Room def init self x y z self square 2 z x y def win door self d e f g m 1 n 1 self window Win Door d e self door Win Door f g self numb w m self numb d n def wallpapers self self wallpapers self square self window square self numb w self door square self numb d def printer self print Ploshad sten komnaty ravna str self square kv m print Okleivaemaya ploshad ravna str self wallpapers kv m U metodi init stvoryuyetsya atribut square ob yekta yakij predstavlyaye soboyu ploshu stin kimnati Metod prijmaye tri argumenti dovzhinu shirinu i visotu primishennya U metodi win door stvoryuyutsya dva ob yekti window i door a takozh atributi numb w i numb d v ostannih budut mistitisya znachennya pro kilkist vikon i dverej Yaksho pri vikliku danogo metodu v programi ne bude vkazano kilkist vikon i dverej to za zamovchuvannyam budut pidstavleni znachennya rivni 1 Metod wallpapers obchislyuye plosha neobhidnih shpaler plosha kimnati plosha vikna kilkist vikon plosha dveri kilkist dverej U kodi danij ryadok rozbit na kilka ryadkiv za dopomogoyu znaka tak roblyat yaksho ryadok duzhe dovgij Takozh zvernit uvagu yak vidbuvayetsya zvernennya do vlastivostej square ob yektiv chastin vkazuyetsya ob yekt klasu Room v klasi jogo zaminyuye self dali ob yekt chastina i nareshti sam atribut vlastivist ob yekta chastini Literatura red 1 Lavrisheva Katerina Mihaliyivna Pidruchnik Programna inzheneriya Vidavec rik kilkist storinok Zovnishni posilannya red Pidruchnik Programna inzheneriya avtor Lavrisheva Katerina Mihaliyivna nedostupne posilannya z 11 04 2018 Programologiya ta yiyi zastosuvannya Arhivovano 23 Chervnya 2015 u Wayback Machine 2013 ros Kompozicionnyj podhod v obektno orientirovannom programmirovanii Urok 7 Arhivovano 22 Chervnya 2015 u Wayback Machine ros Redko V N Osnovaniya kompozicionnogo programmirovaniya Zhurnal Programmirovanie 1979 3 S 3 13 Arhivovano 20 Chervnya 2015 u Wayback Machine Otrimano z https uk wikipedia org w index php title Kompozicijne programuvannya amp oldid 38187950