www.wikidata.uk-ua.nina.az
Ob ye ktno oriyento vane programuva nnya 1 OOP inodi ob yektno zoriyento vane programuva nnya 2 1 3 angl Object oriented programming OOP odna z paradigm programuvannya yaka rozglyadaye programu yak mnozhinu ob yektiv sho vzayemodiyut mizh soboyu 4 Osnovu OOP skladayut chotiri osnovni koncepciyi inkapsulyaciya uspadkuvannya polimorfizm ta abstrakciya 5 Odniyeyu z perevag OOP ye krasha modulnist programnogo zabezpechennya tisyachu funkcij procedurnoyi movi v OOP mozhna zaminiti kilkoma desyatkami klasiv iz svoyimi metodami Popri te sho cya paradigma z yavilas v 1960 h rokah vona ne mala shirokogo zastosuvannya do 1990 h koli rozvitok komp yuteriv ta komp yuternih merezh dav zmogu pisati nadzvichajno ob yemne i skladne programne zabezpechennya sho zmusilo pereglyanuti pidhodi do napisannya program Sogodni bagato mov programuvannya abo pidtrimuyut OOP PHP Lua abo zh ye cilkom ob yekto oriyentovanimi zokrema Java C C Python Ruby i Objective C ActionScript 3 Swift Vala Ob yektno oriyentovane programuvannya syagaye svoyim korinnyam do stvorennya movi programuvannya Simula v 1960 h rokah odnochasno z posilennyam diskusij pro krizu programnogo zabezpechennya en Cherez uskladnennya aparatnogo ta programnogo zabezpechennya bulo duzhe vazhko zberegti yakist program Ob yekto oriyentovane programuvannya chastkovo rozv yazuye cyu problemu shlyahom nagoloshennya na modulnosti programi 6 Na vidminu vid tradicijnih poglyadiv koli programu rozglyadali yak nabir pidprogram abo yak perelik instrukcij komp yuteru OOP programi mozhna vvazhati sukupnistyu ob yektiv Vidpovidno do paradigmi ob yektno oriyentovanogo programuvannya kozhen ob yekt zdatnij otrimuvati povidomlennya obroblyati dani ta nadsilati povidomlennya inshim ob yektam Kozhen ob yekt svoyeridnij nezalezhnij avtomat z okremim priznachennyam ta vidpovidalnistyu 7 Zmist 1 Viznachennya OOP 2 Istoriya 3 Fundamentalni ponyattya 3 1 Klas 3 2 Ob yekt 3 3 Metod 3 4 Obmin povidomlennyami 3 5 Uspadkuvannya nasliduvannya 3 6 Prihovuvannya informaciyi inkapsulyaciya 3 7 Abstraguvannya 3 8 Polimorfizm 3 9 Prototipno oriyentovane programuvannya 3 10 Vidkrita rekursiya 4 Kritika 5 Div takozh 6 Primitki 7 LiteraturaViznachennya OOP RedaguvatiNa dumku Alana Keya rozrobnika movi Smalltalk yakogo vvazhayut odnim z batkiv zasnovnikiv OOP ob yekto oriyentovanij pidhid polyagaye v nastupnomu nabori osnovnih principiv Vse ye ob yektami Vsi diyi ta rozrahunki vikonuyutsya shlyahom vzayemodiyi obminu danimi mizh ob yektami pid chas yakoyi odin ob yekt potrebuye shob inshij ob yekt vikonav deyaku diyu Ob yekti vzayemodiyut nadsilayuchi j otrimuyuchi povidomlennya Povidomlennya ce zapit na vikonannya diyi dopovnenij naborom argumentiv yaki mozhut znadobitisya pid chas vikonannya diyi Kozhen ob yekt maye nezalezhnu pam yat yaka skladayetsya z inshih ob yektiv Kozhen ob yekt ye predstavnikom ekzemplyarom primirnikom klasu yakij virazhaye zagalni vlastivosti ob yektiv U klasi zadayetsya povedinka funkcionalnist ob yekta Takim chinom usi ob yekti yaki ye ekzemplyarami odnogo klasu mozhut vikonuvati odni j ti zh sami diyi Klasi organizovani u yedinu derevopodibnu strukturu z zagalnim korinnyam yaka nazivayetsya iyerarhiyeyu uspadkuvannya Pam yat ta povedinka zv yazani z ekzemplyarami deyakogo klasu avtomatichno dostupni bud yakomu klasu roztashovanomu nizhche v iyerarhichnomu derevi Takim chinom programa ye naborom ob yektiv sho mayut stan ta povedinku Ob yekti vzayemodiyut vikoristovuyuchi povidomlennya Buduyetsya iyerarhiya ob yektiv programa v cilomu ce ob yekt dlya vikonannya svoyih funkcij vona zvertayetsya do ob yektiv sho mistyatsya u nomu yaki svoyeyu chergoyu vikonuyut zapit shlyahom zvernennya do inshih ob yektiv programi Zvisno shob uniknuti neskinchennoyi rekursiyi u zvernennyah na yakomus etapi ob yekt transformuye zapit u povidomlennya do standartnih sistemnih ob yektiv sho dayutsya movoyu ta seredovishem programuvannya Stijkist ta kerovanist sistemi zabezpechuyutsya shlyahom chitkogo rozpodilu vidpovidalnosti ob yektiv za kozhnu diyu vidpovidaye pevnij ob yekt odnoznachnogo oznachennya interfejsiv mizhob yektnoyi vzayemodiyi ta povnoyi izolovanosti vnutrishnoyi strukturi ob yekta vid zovnishnogo seredovisha inkapsulyaciyi Istoriya RedaguvatiOOP viniklo v rezultati rozvitku ideologiyi procedurnogo programuvannya de dani j pidprogrami proceduri funkciyi yih obrobki formalno ne pov yazani Dlya podalshogo rozvitku ob yektooriyentovanogo programuvannya velike znachennya mayut ponyattya podiyi tak zvane podiyevo oriyentovane programuvannya i komponenti komponentne programuvannya KOP Formuvannya KOP vid OOP vidbulosya tak samo yak formuvannya modulnogo vid procedurnogo programuvannya proceduri sformuvalisya v moduli nezalezhni chastini kodu do rivnya zbirki programi tak ob yekti sformuvalisya v komponenti nezalezhni chastini kodu do rivnya vikonannya programi Vzayemodiya ob yektiv vidbuvayetsya za dopomogoyu povidomlen Rezultatom podalshogo rozvitku OOP mabut bude agentno oriyentovane programuvannya de agenti nezalezhni chastini kodu na rivni vikonannya Vzayemodiya agentiv vidbuvayetsya za dopomogoyu zmini seredovisha v yakij voni znahodyatsya Movni konstrukciyi konstruktivno ne pov yazani bezposeredno z ob yektami ale neobhidni yim dlya yih bezpechnoyi vinyatkovi situaciyi perevirki ta efektivnoyi roboti inkapsulyuyutsya vid nih v aspekti v aspektno oriyentovanomu programuvanni Sub yektno oriyentovane programuvannya rozshiryuye ponyattya ob yektiv shlyahom zabezpechennya bilsh unifikovanoyi i nezalezhnoyi vzayemodiyi ob yektiv Mozhe buti perehidnoyu stadiyeyu mizh OOP ta agentnim programuvannyam v chastini samostijnoyi yih vzayemodiyi Pershoyu movoyu programuvannya v yakij buli zaproponovani principi ob yektnoyi oriyentovanosti bula Simula Na moment svoyeyi poyavi v 1967 roci cya mova programuvannya zaproponuvala revolyucijni ideyi ob yekti klasi virtualni metodi tosho odnak ce vse ne bulo sprijnyato suchasnikami yak shos grandiozne Prote bilshist koncepcij buli rozvineni Alanom Keyem ta Denom Ingallsom en u movi Smalltalk Same vona stala pershoyu shiroko poshirenoyu ob yekto oriyentovanoyu movoyu programuvannya Narazi kilkist prikladnih mov programuvannya spisok mov sho realizuyut ob yekto oriyentovanu paradigmu ye najbilshim stosovno inshih paradigm V oblasti sistemnogo programuvannya dosi zastosovuyetsya paradigma procedurnogo programuvannya i zagalnoprijnyatoyu movoyu programuvannya ye mova C Hocha pri vzayemodiyi sistemnogo i prikladnogo rivniv operacijnih sistem stali pomitno vplivati movi ob yekto oriyentovanogo programuvannya Napriklad odniyeyu z najposhirenishih bibliotek multiplatformovogo programuvannya ye ob yekto oriyentovana biblioteka Qt napisana movoyu C Fundamentalni ponyattya RedaguvatiV rezultati doslidzhennya Debori Dzh Armstrong 8 komp yuternoyi literaturi sho bula vidana protyagom ostannih 40 rokiv vdalos vidokremiti fundamentalni ponyattya principi vikoristani u perevazhnij bilshosti viznachen ob yekto oriyentovanogo programuvannya Do nih nalezhit Klas Redaguvati Dokladnishe Klas programuvannya ta Diagrama klasivKlas viznachaye abstraktni harakteristiki deyakoyi sutnosti vklyuchno z harakteristikami samoyi sutnosti yiyi atributami abo vlastivostyami ta diyami yaki vona zdatna vikonuvati yiyi povedinkoyu metodami abo mozhlivostyami Napriklad klas Sobaka mozhe harakterizuvatis risami pritamannimi vsim sobakam zokrema poroda kolir hutra zdatnist gavkati Klasi vnosyat modulnist ta strukturovanist v ob yekto oriyentovanu programu Zazvichaj klas maye buti zrozumilim dlya ne programistiv sho znayutsya na predmetnij oblasti sho svoyeyu chergoyu znachit sho klas povinen mati znachennya v konteksti Takozh kod realizaciyi klasu maye buti dosit samodostatnim Vlastivosti ta metodi klasu razom nazivayutsya jogo chlenami Ob yekt Redaguvati Dokladnishe Ob yekt programuvannya ta Diagrama ob yektivOkremij ekzemplyar klasu stvoryuyetsya pislya zapusku programi ta inicializaciyi poliv klasu Klas Sobaka vidpovidaye vsim sobakam shlyahom opisu yihnih spilnih ris ob yekt Sirko ye odnim okremim sobakoyu okremim variantom znachen harakteristik Sobaka maye hutro Sirko maye korichnevo bile hutro Ob yekt Sirko ye ekzemplyarom primirnikom klasu Sobaka Sukupnist znachen atributiv okremogo ob yekta nazivayetsya stanom Na osnovi klasu Sobaka mozhna takozh stvoriti inshij ob yekt Druzhok yakij vidriznyatimetsya vid ob yekta Sirko svoyim stanom napriklad kolorom hutra Obidva ob yekti Sirko i Druzhok ye ekzemplyarami klasu Sobaka Metod Redaguvati Dokladnishe Metod programuvannya Mozhlivosti ob yekta Oskilki Sirko Sobaka vin mozhe gavkati Tomu gavkati ye odnim iz metodiv ob yekta Sirko Vin mozhe mati j inshi metodi zokrema misce abo yisti V mezhah programi vikoristannya metodu maye vplivati lishe na odin ob yekt vsi Sobaki mozhut gavkati ale treba shob gavkav lishe odin okremij sobaka Obmin povidomlennyami Redaguvati Dokladnishe Obmin povidomlennyami Peredacha danih vid odnogo procesu inshomu abo nadsilannya viklikiv metodiv Uspadkuvannya nasliduvannya Redaguvati Dokladnishe Uspadkuvannya programuvannya Klas mozhe mati pidklasi specializovani rozshireni versiyi nadklasu Mozhut navit utvoryuvatis cili dereva uspadkuvannya Napriklad klas Sobaka mozhe mati pidklasi Kolli Pekines Vivcharka tosho Tak Sirko mozhe buti ekzemplyarom klasu Vivcharka Pidklasi uspadkovuyut atributi ta povedinku svoyih batkivskih klasiv i mozhut vvoditi svoyi vlasni Uspadkuvannya mozhe buti odinichne odin bezposerednij batkivskij klas ta mnozhinne kilka batkivskih klasiv Ce zalezhit vid viboru programista yakij realizovuye klas ta movi programuvannya Tak napriklad v Java dozvolene lishe odinarne uspadkuvannya a v S i te j inshe Prihovuvannya informaciyi inkapsulyaciya Redaguvati Dokladnishe Prihovuvannya informaciyiPrihovuvannya detalej pro robotu klasiv vid ob yektiv sho yih vikoristovuyut abo nadsilayut yim povidomlennya Tak napriklad klas Sobaka maye metod gavkati Realizaciya cogo metodu opisuye yak same povinno vidbuvatis gavkannya primirom spochatku vdihnuti a potim vidihnuti na obranij chastoti ta guchnosti Petro hazyayin psa Sirka ne povinen znati yak vin gavkaye Inkapsulyaciya dosyagayetsya shlyahom vkazuvannya yaki klasi mozhut zvertatisya do chleniv ob yekta Yak naslidok kozhen ob yekt nadaye kozhnomu inshomu klasu pevnij interfejs chleni dostupni inshim klasam Inkapsulyaciya potribna dlya togo abi zapobigti vikoristannyu koristuvachami interfejsu tih chastin realizaciyi yaki shvidshe za vse budut zminyuvatis Ce dast zmogu polegshiti vnesennya zmin bez potrebi zminyuvati j koristuvachiv interfejsu Napriklad interfejs mozhe garantuvati sho shenyata mozhut dodavatis lishe do ob yektiv klasu Sobaka kodom samogo klasu Chasto chleni klasu poznachayutsya yak publichni angl public zahisheni angl protected ta privatni angl private viznachayuchi chi dostupni voni vsim klasam pidklasam abo lishe do klasu v yakomu yih viznacheno Deyaki movi programuvannya jdut she dali Java vikoristovuye klyuchove slovo private dlya obmezhennya dostupu sho bude dozvolenij lishe z metodiv togo samogo klasu protected lishe z metodiv togo samogo klasu i jogo nashadkiv ta z klasiv iz togo zh samogo paketu C ta VB NET vidkrivayut deyaki chleni lishe dlya klasiv iz tiyeyi zh zbirki shlyahom vikoristannya klyuchovogo slova internal C abo Friend VB NET a Eiffel dozvolyaye vkazuvati yaki klasi mayut dostup do bud yakih chleniv Abstraguvannya Redaguvati Dokladnishe Abstraguvannya programuvannya Sproshennya skladnoyi dijsnosti shlyahom modelyuvannya klasiv sho vidpovidayut problemi ta vikoristannya najprijnyatnishogo rivnya detalizaciyi okremih aspektiv problemi Napriklad Sobaka Sirko bilshu chastinu chasu mozhe rozglyadatis yak Sobaka a koli potribno otrimati dostup do informaciyi specifichnoyi dlya sobak porodi kolli yak Kolli i yak Tvarina mozhlivo batkivskij klas Sobaka pid chas pidrahunku tvarin Petra Polimorfizm Redaguvati Dokladnishe Polimorfizm programuvannya Isnuye dekilka vidiv polimorfizm v programuvanni Odin realizovuyetsya shlyahom realizaciyi ryadu pidprogram funkcij procedur metodiv tosho z odnakovimi imenami ale z riznimi parametrami Zalezhno vid togo sho peredayetsya i vibirayetsya vidpovidna pidprograma Shodo vlasne OOP to pid polimorfizmom rozumiyetsya mozhlivist vikoristannya ob yektiv ekzemplyariv pidklasiv vzamin batkivskogo klasu Pri comu v kozhnomu klasi realizuyutsya odni i ti zh pidprogrami z odnimi i timi zh parametrami Tak mozhna realizuvati klas Tvarina z pidklasami Svinya ta Sobaka Oskilki pidklasi matimut odin interfejs vzayemodiyi tobto v kozhnomu realizovanij metod golos to mozhna pidstavlyati v odin i toj zhe kod zamist batkivskogo klasu ob yekt odnogo z pidklasiv i otrimati riznij zvuk abo Gav abo Roh roh Na praktici pidstavnovka realizuyetsya shlyahom prisvoyennyu zminnij z tipom batkivskogo klasu Tvarina posilannya na ob yekt pidklasu na Svinya abo Sobaka Prototipno oriyentovane programuvannya Redaguvati Ne vsi z perelichenih vishe koncepcij prisutni v usih ob yekto oriyentovanih movah programuvannya Zokrema v prototipno oriyentovanomu programuvanni ne vikoristovuyutsya klasi Yak naslidok zovsim insha ale analogichna terminologiya vikoristovuyetsya dlya viznachennya ob yekta ta ekzemplyara v cih movah Vidkrita rekursiya Redaguvati U movah yaki pidtrimuyut vidkritu rekursiyu ob yektni metodi mozhut viklikati inshi metodi togo samogo ob yekta vklyuchayuchi sebe yak pravilo vikoristovuyuchi specialnu zminnu abo klyuchove slovo pid nazvoyu this abo self Cya zminna maye piznye priv yazuvannya ce dozvolyaye metodu viznachenomu v odnomu klasi viklikati inshij metod yakij viznacheno piznishe v yakomus jogo pidklasi Kritika RedaguvatiRezultati doslidzhennya Tomasa Potoka ta inshih ne pokazali istotnoyi riznici u produktivnosti mizh OOP ta procedurnim pidhodami 9 Kristofer Dejt zayavlyaye sho kritichne porivnyannya OOP z inshimi tehnologiyami zokrema relyacijnoyu praktikoyu ye duzhe skladnim cherez vidsutnist uzgodzhenosti ta chitkogo viznachennya OOP 10 Edsger Dejkstra chogo suspilstvo perevazhno vimagaye tak ce panaceyi Zvisno panaceya maye riznomanitni nazvi inakshe vi ne prodali b nichogo podibnogo do Structured Analysis and Design Software Engineering Maturity Models Management Information Systems Integrated Project Support Environments Object Orientation ta Business Process Re engineering ostanni vidomishi yak IPSE OO ta BPR vidpovidno 11 Div takozh RedaguvatiMova programuvannya Ob yekto oriyentovana mova programuvannya Paradigma programuvannya Komponentno oriyentovane programuvannya Proektuvannya za kontraktom Kompoziciya programuvannya UML Zakon Demetri Maket ob yekta Multiparadigmalna mova programuvannyaPrimitki Redaguvati a b object oriented Anglijsko ukrayinsko anglijskij slovnik naukovoyi movi fizika ta sporidneni nauki Chastina I anglijsko ukrayinska uklad O Kocherga Ye Mejnarovich 2010 object oriented Anglijsko ukrayinskij slovnik z matematiki ta informatiki uklad Ye Mejnarovich M Kratko 2010 object oriented Ukrayinsko anglijskij slovnik z radioelektroniki Bogdan Ricar Leonid Snicaruk Roman Misak 2015 Gradi Buch Robert A Maksimchuk Majkl U Engl Bobbi Dzh Yang Dzhim Konallen Kelli A Hyuston Obektno orientirovannyj analiz i proektirovanie s primerami prilozhenij M Vilyams 2008 720s Konspekt lekciyi No 8 9 10Tema No 5 KONCEPCIYa OB YeKTNO ORIYeNTOVANOGO PROGRAMUVANNYa Meyer chapter 3 Booch chapter 2 Armstrong 2006 Potok Thomas Mladen Vouk Andy Rindos 1999 Productivity Analysis of Object Oriented Software Developed in a Commercial Environment Software Practice and Experience 29 10 833 847 doi 10 1002 SICI 1097 024X 199908 29 10 lt 833 AID SPE258 gt 3 0 CO 2 P Procitovano 21 kvitnya 2010 angl C J Date Introduction to Database Systems 6th ed Page 650 angl EWD 1175 The strengths of the academic enterprise angl Literatura RedaguvatiArmstrong Deborah J February 2006 The Quarks of Object Oriented Development Communications of the ACM 49 2 123 128 ISSN 0001 0782 Procitovano 8 serpnya 2006 Meyer Bertrand 1997 Object Oriented Software Construction en Prentice Hall ISBN 0 13 629155 4 Otrimano z https uk wikipedia org w index php title Ob 27yektno oriyentovane programuvannya amp oldid 40122483