KompyuterlarDasturlash

FKÖ - bu nima? ob'ekt yo'naltirilgan dasturlash asosiy tamoyillari

Nima uchun ob'ekt yo'naltirilgan dasturlash eng loyihalarda afzal bo'ladi? PLO ularning murakkabligi bilan shug'ullanish samarali yo'l taqdim etadi. Buning o'rniga olib boriladi buyruqlar majmuasini sifatida dasturni ko'rib, u ba'zi xususiyatlari bilan ob'ektlar bir guruh sifatida ifodalaydi va aniq harakatlari bilan ularni ishlab chiqarish. Bu aniq, ko'proq ishonchli va legkosoprovozhdaemyh ilovalar olib keladi.

asosiy tamoyillari ob'ekt yo'naltirilgan dasturlash (OOP) cheklashlar oldindan mavjud yondashuvlar topilgan, chunki shakllangan. Ular orasida - o'zgarishiga cheklashlari ma'lumotlar va havolalar ko'p sonli, cheksiz foydalanish. muhim Ularning xabardorlik va sabablari nima OOP dasturlarni tushunish va uning afzalliklari bor.

protsessual tillar

C, Pascal, FORTRAN, va shunga o'xshash tillar protsessual bo'ladi. , Ma'lumotlarni olish uchun olti bo'linadi raqamlarini, aks natija yuqoriga qo'shing: Bu operator har bir narsa, albatta, kompyuter aytadi, deb. Ilova protsessual tili o'qitish ro'yxati. kichik bo'lsa, (ko'pincha bir paradigma deb ataladi) boshqa hech qanday tashkiliy qoida talab qilinmaydi. dasturchi ko'rsatmalar ro'yxatini yaratadi, va kompyuter ularni amalga oshiradi.

vazifalarini ajratish

ilovalar navbat yana noqulay ro'yxati bo'lib qachon. Ular guruhlangan qadar bir necha yuz ko'rsatmalariga ko'ra ko'proq tushunish mumkin necha. Shuning uchun, vazifasi, uning yaratuvchilari uchun ariza yanada tushunarli bo'lishi uchun yo'l bo'ldi. Ba'zi tillarda, shu tushuncha altprogramciklar yoki protseduralar, deb atash mumkin.

Ilova aniq belgilangan maqsadi va interfeysi mavjud har qaysi vazifalari, bo'linadi.

tartib bo'linishi g'oyasi bir modul deb nomlangan ob'ekt bir katta guruhlarga kengaytirdi mumkin, lekin qoida o'xshash bo'ladi: hujjat ro'yxatlarini olib komponentlarini guruhlarga.

funktsiyalari va modullarni ajratish - PLO qadar bir necha o'n yillar davomida u paradigmasi tug'diradi tizimli dasturiy ta'minot burchak toshlar, biri.

tizimli dasturiy ta'minot muammolari

ilovalar katta bo'lib, tizimli dasturiy ta'minot qiyinchiliklarga duch boshladi. Loyihalar ham murakkab bo'lib. grafikalar banddir. Bu dasturchilar bir qator o'z ichiga oladi. murakkablik o'sdi. yuqoriga olish xarajatlari, jadval yanada banddir edi, va buzilish keldi.

muvaffaqiyatsizliklar sabablari tahlil protsessual paradigma kamchiliklarni oshkor. Nima bo'lishidan qat'iy nazar, yaxshi amalga dasturlash yondashuvni tuzilgan qanday, katta ilovalar haddan tashqari murakkab bo'lib.

protsessual tillarda bilan bog'liq bu muammolarni sabablari nima? Birinchidan, vazifalari global ma'lumotlarga cheksiz foydalanish bor. Ikkinchidan, befarq protseduralar va yomon qadriyatlar real dunyoni taqlid.

Biz inventarizatsiya buxgalteriya dasturi doirasida bu masalalarni ko'rib bo'lsa, global ma'lumotlar eng muhim unsurlaridan biri navi to'plamidir. Turli vazifalari u, o'zgarishlar ko'rsatiladi va shunday bo'ladi, yangi qiymat kiritish uchun ularga murojaat qilishingiz mumkin. D

cheklanmagan kirish

dastur masalan, C, ma'lumotlar ikki xil bo'ladi, yozilgan. Mahalliy funktsiyasi ichida yashiringan va boshqa tartib ishlatilgan emas.

Ikki yoki undan ortiq vazifalari Shu ma'lumotlarga kirish bo'lsa, ikkinchisi global bo'lishi kerak. Bunday, masalan, mavzular haqida hisob olish ichiga olinadi. global ma'lumotlar mavjud bo'lgan har qanday tartibi bo'lishi mumkin.

katta dasturda, ko'p xususiyatlari va ko'plab global elementlar bor. protsessual paradigmalari muammo oralarida salohiyati yo'nalishlarga katta soniga olib keladi, deb.

Bunday ulanishlar ko'p sonli bir necha qiyinchiliklarga olib keladi. Birinchidan, u dasturning tuzilishi tushunish qiyinlashtiradi. Ikkinchidan, murakkab o'zgartirish. global ma'lumotlar nomini o'zgartirish unga foydalanish imkoniyatiga ega, barcha vazifalarni tuzatishlarni talab qilishi mumkin.

Misol uchun, kimgadir Buxgalteriya dasturi qaror yilda tashkil ob'ekt kodi emas 5 ta raqamdan iborat bo'lishi kerak, deb, va 12 dan bu o'zgarishlarni talab qiladi ma'lumotlar turini qisqa dan uzoq. funktsiya kodi yangi formatda bilan ishlash uchun o'zgartirilishi kerak bo'lgan Endi bog'liq.

elementlar bir katta dastur ichida o'zgargan bo'lsa, u tartib ulardan foydalanish imkoniyatiga ega nima deyish qiyin. Lekin hatto bu arbobi bo'lsa, ularni boshqa global ma'lumotlar bilan noto'g'ri ishga olib kelishi mumkin o'zgaruvchan. Aslidachi bilan bog'liq, shuning uchun bir joyda bir o'zgarish boshqa backfire bo'ladi.

real dunyoni modellashtirish

protsessual paradigmalari ikkinchi va yana bir muhim muammo uning joylashgan joyi aniq ma'lumotlar va vazifalari yomon real dunyoda narsalarni modellashtiradi, deb hisoblanadi. Bu erda biz kabi odamlar yoki avtomobillar kabi ob'ektlar bilan muomala qilinadi. Ular, hech qanday ma'lumotlar yoki funktsiyasi kabidir. Kompleks real-jahon ob'ektlar sifatlari va xatti ega.

sifatlari

elektr va eshiklar soni - odamlar uchun sifatlari (ba'zan deb nomlangan xususiyatlari) misollar Ko'z rangi va post nomi, bir avtomobil uchun. U qaytib, dasturda ma'lumotlarga teng real dunyo sifatlari. Ular bunday ko'k (ko'z rangi) yoki to'rt (eshik soni) sifatida muayyan qadriyatlarni, bor.

xulq

Xatti-- real-jahon ob'ektlar ta'sirini ayrim turdagi javoban ishlab chiqarilgan, deb hisoblanadi. Agar ish haqi o'sishi uchun bir xo'jayin so'rasangiz, javob "ha" yoki "yo'q". Agar tormozni bosing bo'lsa, avtomobil to'xtaydi. Va to'xtatish so'zidir xulq-misol. tartibda o'xshash xatti: u, bir narsa qilish uchun chaqirdi va u shuning uchun qilsa bo'ladi. Shunday qilib, o'zlari ma'lumotlar va vazifalari real-jahon samarali modeli ob'ektlarida emas.

Muammolarni bartaraf etish

OOP ob'ekt ma'lumotlar va vazifalarning majmui sifatida taqdim etiladi. Faqat C ++ a'zo vazifalari, deyiladi protseduralar, uning qiymatini olish uchun imkon beradi. Bu yashirin va o'zgarishlar himoyalangan. Ma'nolari va vazifalari biriga muhofaza qilinadi. Kapsülleme va upryatyvanie - ob'ekt yo'naltirilgan tillar ta'rifi asosiy shartlari.

Agar ma'lumotlar o'zgartirish bo'lsangiz, u vazifalari ular bilan o'zaro aniq, nima biladi. Boshqa hech qanday tartib, ularni kirish mumkin emas. Bu yozuv, tuzatishni va dasturini saqlab osonlashtiradi.

Agar dastur, odatda, a'zo vazifalarni sabab bir-biri bilan muloqotda bir necha ob'ektlar, iborat.

Bugungi kunda, eng keng foydalaniladigan til OOP (ob'ekt yo'naltirilgan dasturlash) - C ++ (plyus plyus). Java bunday mayoqlar, andozalar va C ++ dan kamroq kuchli va ko'p tomonlama qiladi bir necha meros, deb ba'zi xususiyatlari yo'q. C # hali C ++ mashhurlik etib bo'lmaydi.

Bu, masalan, Smalltalk, ba'zi boshqa ob'ekt yo'naltirilgan tillarda C ++ deb nomlangan usullari a'zosi vazifalarini deb atalmish ta'kidlash lozim. ma'lumotlar mahsulot deb nomlangan sifatlaridir. ob'ekt bir usuli chaqirib unga xabar yuborib bo'ladi.

o'xshashlik

Siz kompaniyasi idoralar ob'ektlarni tasavvur mumkin. eng tashkilotlarda, xodimlar xodimlari, quyidagi Chunki haddan tashqari quvvatlash ish haqi va chakana savdo bilan shug'ullanuvchi keyin bir hafta bir kun ishlamaydi. Har bir bo'lim aniq yuklatilgan vazifalar bilan o'z xodimlari, bor. bo'limlarida Odamlar ularning axborot bilan ishlash va hokazo ish haqi, savdo, buxgalteriya xodimlari, ko'rsatkichlari ...: o'z ma'lumotlar bor Kompaniya bo'limi, shuning uchun, uning operatsiyalari nazorat osonlashtiradi va ma'lumotlar butunligini saqlab. Buxgalteriya uchun mas'ul bo'lgan ish haqi. Agar iyul oyida janubiy filiali qaratilayotgan ish haqining umumiy miqdorini bilish bo'lsangiz, arxiv puxta o'rganish kerak emas. Bu, mas'ul shaxs bir eslatma yuborish, u kishi, ma'lumotlarga kirish imkoniyatiga ega va talab ma'lumotlarga javob yuboradi qadar kutish uchun etarli bo'ladi. Bu qoidalarga rioya va tashqi aralashuv yo'qligini ta'minlaydi. Shu tarzda Falastin Ozodlik tashkiloti bir ob'ekt tashkilot ariza beradi.

Bu ob'ektlarini orientatsiya ish dasturi batafsil amal qilmaydi shuni unutmaslik kerak. operatorlari ++ C Eng ko'rsatmalar Aslida bunday C sifatida protsessual tillarda mos keladi, S funktsiyalari juda o'xshash ++ C a'zosi vazifalari Faqat kengroq kontekst qo'llanma protsessual yoki-ob'ektga yo'naltirilgan aniqlab imkonini beradi.

OOP ob'ekt: ta'rifi

o'rniga alohida vazifalarni o'z bo'linmasi haqida savollar ob'ekt yo'naltirilgan tilida dasturlash muammoni yuritganda ajratish muassasalarida bir muammo. OOP fikrlash dasturlar ishlab chiqish uchun ancha oson bo'ladi. Bu dasturiy ta'minot va real ob'ektlar o'xshash tufayli bo'ladi.

OOP yilda ob'ektlar narsalarni qanday bo'ladi? Bu erda bir necha xos kategoriyalar mavjud.

OOP jismoniy ob'ekt - bu:

  • transport oqimi modellar;
  • elektron dizayni dasturlari elektr komponentlar;
  • mamlakat iqtisodiyoti model;
  • havo harakatini boshqarish tizimida samolyot.

atrof-muhit foydalanuvchi kompyuter elementlari:

  • menyu;
  • Windows;
  • grafik (chiziq, to'rtburchak, doira);
  • klaviatura, sichqoncha, printer, disk disklar.

odamlar:

  • xodimlari;
  • o'quvchilar;
  • mijozlar;
  • sotuvchilar.

axborot:

  • kitob yuritish;
  • Shaxsiy ish;
  • Lug'at;
  • kengliklarda va aholi punktlarining tul jadvali.

real dunyo Aloqa ob'ektlari va FKÖ funktsiyalari va ma'lumotlar ular dasturlarni inqilob qilgan bir kombinatsiyasi natijasi bo'ldi. bor protsessual tilda Bunday yaqin o'yin.

sinf

a sinf a'zosi - Falastin Ozodlik tashkiloti ham Objects. Bu nimani anglatadi? Dasturlash tillari ajralmas qilgan ma'lumotlar turlari. Turi int, t. E. C oldindan belgilangan bo'ladi tamsayı ++. Int o'zgaruvchilar har qanday qator e'lon mumkin.

Xuddi shunday, ob'ektlar bir necha bir sinf bilan belgilangan. Bu int o'zgaruvchilar yaratish emas, deb vazifalari va uning muassasalari kiritilgan ma'lumotlar, shuningdek, ularni yaratish emas belgilaydi.

Falastin Ozodlik tashkiloti ham Class - shunga o'xshash ob'ektlar bir qator tavsifi. Shahzoda, Sting va Madonna qo'shiqchilar bor. U erda shu nom bilan hech kim emas, lekin ular tegishli xususiyatlarga ega bo'lsa, odamlar, shuning uchun deb atash mumkin. OOP ob'ekt - bu holat.

meros olish

hayotda, darslar quyi sinflarini bo'linadi. Misol uchun, hayvonlar qumursqalar, sut emizuvchilar, qushlar, hasharotlar kirib va hokazo bo'linadi. D.

bo'linish bunday qoida har bir sinf sinf dan bilan umumiy xususiyatlarga ega, deb hisoblanadi. Barcha avtomobillar g'ildiraklari va vosita bor. Bu transport vositalari aniqlash xususiyatlari hisoblanadi. Har bir kichik guruh, umumiy xususiyatlarga qo'shimcha ravishda o'z xususiyatiga ega. U erda juda ko'p avtobus o'rindiq va yuk mashinalari og'ir yuklarni tashish uchun oraliq bor.

Xuddi shunday, bir baza sinf ular bilan bir qatorda o'z xususiyatlarini baham bo'ladi, shunday qilib belgilangan bo'lishi mumkin sinf ota-ona bir necha hosilalari bo'lishi mumkin. protsessual dasturi soddalashtirish vazifalari, kabi qilmagan narsa. kodeksining bir necha qismlari deyarli bir xil qilyapsan bo'lsa, umumiy elementlarni chiqarib va bir tartibda ularni qo'yish mumkin. Uch ariza maydoni umumiy harakatlarni amalga oshirish uchun funktsiya chaqirish mumkin, lekin ular ishlab chiqarish va o'z operatsiyalar mumkin. Xuddi shunday, tayanch sinf sanab chiqing guruhidagi umumiy ma'lumot o'z ichiga oladi. A o'xshash funksiya ob'ekt yo'naltirilgan dasturini meros kamaytiradi va uning elementlari munosabatlarni hal.

qayta ishlash

sinf yaratilgan va debugged so'ng, u o'z ilovalar bilan qayta ishlatish uchun boshqa dasturchilar uchun berilishi mumkin. Bu turli dasturlar, shu jumladan mumkin vazifalarni kutubxona o'xshaydi.

OOP, bardi bir necha foydalanish fikrning kengaytmasi hisoblanadi. Mavjud sinf, uni o'zgartirmay, biz boshqa vazifalarni qo'shilishi bilan yangi bir mumkin. mavjud dasturiy ta'minotni qayta foydalanish uchun qulaylik - Falastin Ozodlik tashkiloti bir muhim afzalligi. Bu boshlang'ich investitsiyalar tobora ortib borayotgan bir rentabelligini beradi, deb ishoniladi.

yangi ma'lumotlar turlarini yaratish

yangi ma'lumotlar turlarini yaratish uchun tegishli imkoniyatlar. Agar dastur ikki o'lchovli qadriyatlarni foydalanadi Aytaylik (masalan, koordinatalari yoki kenglik va uzunlik), va ularning ustiga arifmetik amalni ifoda istagini bor:

position1 = lavozim + kelib chiqishi,

qaerda position1, lavozimi va kelib chiqishi - mustaqil sonli qiymatlar bir juft. uning ob'ektlarini bir bu ikki qadriyatlarni o'z ichiga oladi sinfi va o'zgaruvchan deklaratsiyalarini yaratish, yangi ma'lumotlar turini yaratadi.

Polimorfizm, ortiqcha yuk

arifmetik ishlatiladigan operatorlari (teng) = va + (plyus) pozitsion yuqorida, shuningdek harakat emas bir ajralmas kabi int kabi turlari. Lavozimi ob'ektlar, va boshqalar. Oldindan belgilangan va dasturiy ta'minot tomonidan belgilangan bo'lmaslik. Qanday ushbu operatorlar, ularni qanday bilasiz? javob yangi yurish ular uchun belgilangan mumkin, deb aslida yotadi. Bu operatsiyalar a'zosi vazifalari Class holati bo'ladi.

polimorfizm deyiladi, nima, ular ishlayotgan qarab operatorlari yoki tartib foydalanish. Yangi ma'lumotlar turi bilan ishlash imkonini oladi, masalan, + yoki = kabi operator, bor bo'lsa, u haddan ortiq ekanini aytadi. Falastin Ozodlik tashkiloti ham haddan ortiq yuk - polimorfizm bir xil. Bu uning muhim xususiyati hisoblanadi.

PLO "Dummies Object-Oriented dasturlash" bo'yicha kitob har bir batafsil, bu mavzu bilan tanishish imkonini beradi.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 uz.unansea.com. Theme powered by WordPress.