Объект хандалтат програмчлагдсан бууралт тодорхойлогддог. Объект хандалтат програмчлал (OOP). OOP болон дэд ангиллын амрах зарчим

Бүгдээрээ сайн уу.

OVP-д зориулсан вэбсайт дахь нийтлэлүүдийн долоо хоног. Үлдсэн үйл явдал надад маш их сэтгэл хөдлөл, харамсалтай нь бүр ч ялзарсан сэтгэл хөдлөлийг төрүүлсэн. Би статусын хувьд зохистой байхаа больсон. Яагаад? Учир нь энэ нь бүх төрлийн сөрөг сэтгэл хөдлөлийг дамжуулж, ORP-ийг хөгжүүлэхэд хувь нэмэр оруулдаг. Хүмүүс ХБХ-ны бүрэн хүчийг бүрэн дүүрэн ойлгоогүй, БҮХ нь хорон санаат байдлаас хүн бүрийг булааж авахыг хүсч байгаагаас сэтгэл хөдлөл нь хагацсан. Хамгийн аймшигтай нь хүмүүс ямар ч ашиггүй зүйл болж байна гэж бодсон шуналтай нотолгоог сонсож, шидэж эхэлсэн явдал юм. Ийм статистик нь оюутнуудад өмнө нь өгч байснаас илүү эсрэг заалттай гэж би бодож байна. :)

Харцгаая.

ORP гэж юу вэ? OOP - энэ болон GO програмчлал, дизайн. Нэг нь нөгөөгүй, юунаас ч илүү өчүүхэн зүйл. Програм хангамжийн бүтээгдэхүүний дизайн/програмчлалд зориулсан ORP үүсгэсэн. Энэ нь процессыг загварчлахад зориулагдаагүй. Протоколын дизайны хувьд биш, харин програм хангамжийн бүтээгдэхүүн, тэдгээрийн хэрэгжилтэд зориулагдсан. Системийг хялбарчлахын тулд протокол, бизнесийн үйл явцыг яг одоо хэрхэн хэрэгжүүлэх талаар.

Хэрэв та OOP-г викориж эхэлбэл хамгийн түрүүнд хийх ёстой зүйл бол бодлын объектыг використ хийж эхлэх явдал юм. Хамгийн том асуудал бол OVP гэж аль хэдийн хэлсэн тул бодитой бодож сурах нь бүр ч хэцүү байдаг. Якомагийн үйл явцыг өмнө нь унших нь маш чухал юм (Газар, барилгачин, фасадны төрөлтэй ижил төстэй GoF нь үүнд тусална). Vikorist-ийн объектын дизайныг ашигласнаар та эвхдэг системийг хялбархан зохиож чадна.Vikorist-ийн бодол санаагаар та ямар ч дизайныг хялбархан зохиож болно (Зарчмын хувьд дизайныг бүрэн хийх боломжтой тул дизайн/програмчлал нь ижил байх нь чухал юм) объектуудтай ажиллах, тэдгээрийн хоорондын харилцан үйлчлэл. Тобто. Объектив бодолгүйгээр OOP нь OOP-ийн бүрэн хүчийг ашиглаж эхлэх боломжийг танд олгохгүй.

Цаашаа явцгаая. Тиймээс бид зорилгодоо хүрэхийн тулд объектын хийсвэрлэлийг мэдэхийн тулд бодитойгоор бодох нь чухал юм. Аналоги болон хийсвэрлэлийг устгасны дараа бид системд юу байгааг хурдан ойлгох боломжийг бидэнд олгодог илүү тодорхой дүр зурагтай болсон. Энд бид удамшил ба полиморфизмын талаар бодож эхэлдэг. Эдгээр хоёр хэрэгсэл нь кодыг хуулбарлахгүйгээр системийг гараар масштаблахад шаардлагатай. Гэхдээ эдгээр механизмын хүч чадал нь хийсвэрлэл, аналогийг хэр хэмжээгээр олж авсантай холбоотой юм. Хэрэв таны объектын сэтгэлгээ нь объектуудын гар аргаар задралыг боловсруулахыг зөвшөөрдөггүй бол ялзрал, полиморфизм нь танд тус болохгүй. Тобто. Ялзрал ба полиморфизм нь системийн масштабын асуудлыг шийдэх хэрэгслүүдээс өөр зүйл биш юм.

Эдгээр хэрэгслүүд хэрхэн ажилладаг вэ? Энэ нь уурын манжингаас илүү хялбар байдаг, учир нь бүх зүйл бидний мэддэг яриан дээр суурилдаг. Би амьдралын энгийн жишээнд дуртай:

1. Спадкування. Би нарийн боовчин хүн. Цахилгаан, хий хоёулаа. Таны ажил бол арьсны зууханд талх нарийн боовны бяслаг бэлтгэх үйл явцыг загварчлах явдал юм. Хамгийн гол нь зууханд шилжүүлэх үйл явц, зуухны үйл ажиллагаа хоёр зууханд ижил байдаг тул бид маш олон кодын давхардалтай байх болно. Хэрэв бид бодлын объектыг асааж, багасгах хэрэгслийн талаар санаж байвал бид үүнийг эхэнд нь хасах болно (диаграмм хэтэрхий жижиг байна, уучлаарай):
Є pіch (хийсвэр pіch). Зан төлөв байдаг - температурыг асаах, асаах, нэмэгдүүлэх, өөрчлөх, юу, юу, юуг байрлуулах - зууханд температур, асаах, унтраах. Энэ нь хийсвэр объектын хамгийн чухал хэрэглээ нь капсулжуулалтын зарчмуудыг баримтлах (тэдгээрийг хэрэгжүүлэхдээ би тэдгээрийг дагаж мөрдөх ёстой). Би бол нарийн боов, тодорхой талхчин Иван. Вин хийсвэр хэлээр хэрхэн ажиллахаа мэддэг. Тобто. Температурыг шалгах, халаагуур асаах гэх мэт. чи ухаан орсон. Тайвшруулах хүч нь бидэнд Иваныг цахилгаан эсвэл хийн зууханд зориулж арьсан зууханд дахин бичих боломж байхгүй болно. Яагаад гэдэг нь бүгдэд ойлгомжтой гэж бодож байна? Энэ нь ostosovaniye хэрэгсэл зөв болж байна.
2. Полиморфизм. Зуухнууд хүртэл янз бүрийн аргаар ажилладаг. Хий нь хий, цахилгаан нь цахилгааныг шатаадаг. Використ ба полиморфизм, бид хийсвэр зуухны нягтруулагч дахь зан төлөвийг амархан өөрчилдөг.
3. Бүрхүүл. Капсулын гол давуу тал нь би зуухныхаа голд юу болж байгааг мэдэх шаардлагагүй юм. Би зуухыг асаах арга дээр биш, харин жинхэнэ утгыг асаасан тэжээлийн өөрчлөлт дээр дарна гэж бодъё. Энэ мөчид түүнд юу тохиолдох вэ? Хэлэлцээ хийхгүй байх зарчмын хувьд би унтлагын өрөөнд амьдарч эхлэхийг хэлье, учир нь Би чамд хэлье. Тобто. Талхчин унтлагын өрөөнд юу хийдгийг мэддэг, талхчин хэрхэн ажилладагийг мэддэг. Эсвэл жишээ нь бид зуухны температурыг ямар ч үед бага эсвэл өндөр болгож чадахгүй. Хэрэв бид капсулын зарчмыг баримтлахгүй бол зууханд температурыг шалгахыг хэлэх ёстой, тэгвэл энэ нь юу вэ? Тобто. Талхчин одоо зуухны талаар ихийг мэддэг болсон. Хүлээн авагч болон тохируулагч нь өөрчлөлтийг хялбархан хэрэгжүүлэхэд туслах функцууд юм. Ингээд л болоо. Гетера ба тохируулагч хоосон байгаа тул энэ нь миний ижил хийсвэрлэлд шаардлагатай гэсэн үг юм. Хүлээн авагч болон тохируулагч нь капсулжуулалтын хэрэгжилтэд нөлөөлж чадахгүй; дизайнер/программист капсулжуулалтыг буруу хэрэгжүүлж болно.

Хэний хэрэглээнд сонгосон хийсвэрлэл сайн байна. Хүн бүр өөрийн гэсэн бизнесийг бодож байгаа бөгөөд PLO-ийн гурван тулгуур багана нь чадах бүхнээ хийж байна. Ale varto намайг бохир хийсвэрлэл сонгох, Бодит асуудал эхэлдэг гэж. Мөн та зөв хийсвэрлэлийг сонгосон эсэх, таны задаргаа таны явж буй чиглэлд зөв эсэхийг ойлгоход тань туслах ялгах стандартууд энд байна (SOLID).

Тэд мөн OOP-ийн өөр нэг тулгуур болгон хийсвэрлэлийг нэмж эхэлсэн. Би үүнийг үнэн гэж бодож байна, гэхдээ энэ нь KEP шиг илүү үнэртэй.

Би бичих талаар аль хэдийн хэлсэн. Баруун талд, хямралын үед хамт ажилладаг хүнд өдөр тутмын асуудал гардаггүй. Хийсвэрлэлийн өнөөгийн түвшинд хуйвалдааныг бүтээх нь танд чухал байдаг шиг танд үүнийг хийх нь тийм ч чухал биш юм. Та жигнэхээ болих уу? Та мөрөөдлөө бүтээж байна уу? Ингээд л... Энэ динамик хэвшил намайг ойлгохгүй байгаад яагаад санаа зовоод байгаа юм бэ. Та жигнэхийг хүссэн үү? Ав. Танд цахилгаан хэрэгтэй юу? За, хар даа, чи дахиж бензин авахгүй.

Даалгасан даалгаврын хүрээнд зохих хийсвэрлэл, зүйрлэлгүйгээр надад оногдуулсан статистикт оруулсан бусад өгзөг. Толбо.

DTO-д зориулсан Окремо. DTO - гинжин хэлхээ. Энэ нь мэдээллийг өөр бөмбөг, өөр систем, товчоор хэлбэл хаана шилжүүлэх боломжтой объектыг бий болгох боломжийг олгодог. Яагаад би үүнийг объект гэж харж чадахгүй байгаа нь миний хувьд нууцлагдмал болсон. Супер чанар хаана байна? Саванд юу байгаа вэ? Тэгээд юу гэж?? Энэ объект нь хийсвэрлэлийн өгөгдсөн түвшинд миний судалж үзсэн объект загварын хүрээнд байгаа бөгөөд DTO нь объект бөгөөд задралын хэсэг юм.

Хэлний талаар юу хэлэх нь бас тодорхойгүй байна. Би хэлээс үл хамааран програм хангамж, програм хангамж, объектод суурилсан хандлагыг зохион бүтээх боломжтой. Хэрэв энэ нь объекттой ажиллах үндсэн хэрэгслийг хэрэгжүүлэхгүй бол миний зохион бүтээсэн системийг хэрэгжүүлэхэд хэцүү эсвэл боломжгүй байх болно.

Хэл ярианы үйлдлийг объектуудын гадаад төрх байдал, тэдгээрийн харилцан хамаарлаас илрүүлэх боломжгүй юм шиг санагддаг. Юу болсныг би гайхаж байна. Та зүгээр л зөв хийсвэрийг сонгох хэрэгтэй. Протоколын хэрэгжилт, мэдээллийн санд нэвтрэх бөмбөг, залгаасуудыг холбох, даалгаврын менежер, бизнесийн үйл явц, бизнесийн үйл явцын дизайны систем гэх мэт. объект гэж амархан тодорхойлж болох бүх зүйл, тэдгээрийн харилцан үйлчлэл. Бүх зүйл объект болон тэдгээрийн хоорондын харилцан үйлчлэлээр хэрэгжиж болно. Сайн, муу нь ихэнхдээ бодитойгоор бодохын тулд таны оюун ухаанаас гадуур оршдог.

Товчхондоо. Хэрэв та ORP-ийн хүчийг ойлгохгүй байгаа бол бүх зүйлийг үзсэнийхээ дараа объектив сэтгэлгээг хөгжүүлэх хэрэгтэй.

P.S. Сүүлийн нийтлэлийн өмнөх сэтгэгдлүүдэд би жинхэнэ хүмүүсийн харгис хэрцгий байдлаас хэт хол явсан нь тодорхой. Би дахин асууя.

Объект хандалтат програмчлал яагаад ихэнх төслүүдэд илүү сайн байдаг вэ? OOP нь энэхүү төвөгтэй байдалтай тэмцэх үр дүнтэй аргыг санал болгож байна. Хөтөлбөрийг бичсэн зааврын дэс дараалал гэж үзэхийн оронд тодорхой эрх мэдэл бүхий объектуудын бүлгийг төлөөлж, тэдэнтэй тодорхой үйлдлүүдийг гүйцэтгэдэг. Энэ нь илүү тодорхой, найдвартай, дагаж мөрдөхөд хялбар нэмэлтүүдийг бий болгох явдал юм.

Үндсэн зарчмууд нь бусад хандлагын хувьд ялгаатай байсны улмаас үүссэн. Тэдгээрийн дотор өгөгдөлд хандах боломжгүй, өөрчлөлт хийхэд хязгаарлалт тавьдаг олон тооны холболтууд байдаг. Хөтөлбөрийн ORP нь ийм чухал гэдгийг ойлгохын тулд эдгээр шалтгааны талаархи тэдний мэдлэг чухал юм.

Процедурын кино

C, Pascal, FORTRAN болон ижил төстэй хэлүүд нь процедур юм. Энд оператор компьютерт юу хийхийг зааж өгдөг: өгөгдлийг устгах, тоо нэмэх, зургаад хуваах, үр дүнг харуулах. Миний процедурын нэмэлт бол зааврын жагсаалт юм. Энэ нь жижиг учраас зохион байгуулалтын өөр зарчим (ихэвчлэн парадигм гэж нэрлэдэг) шаардлагагүй болно. Программист зааврын жагсаалтыг үүсгэж, компьютер тэдгээрийг хадгалдаг.

Үйл ажиллагаанд хамаарна

Хөтөлбөрүүд томрох тусам жагсаалт нь төвөгтэй болно. Цөөхөн хүн нэг бүлэглэлгүйгээр зуу гаруй зааврыг ойлгож чадна. Ийм учраас уг функц нь программыг бүтээгчиддээ илүү ухаалаг болгох арга болсон. Бусад хэлээр ижил ойлголтыг дэд программ эсвэл процедур гэж нэрлэж болно.

Хөтөлбөр нь функцүүдэд хуваагддаг бөгөөд тус бүр нь тодорхой тэмдэглэгдсэн интерфейстэй байдаг.

Процедуруудыг хуваах санааг модуль гэж нэрлэгддэг том объект болгон бүлэглэх замаар өргөжүүлж болох боловч зарчим нь ижил төстэй: зааврын жагсаалтыг бүрдүүлдэг бүрэлдэхүүн хэсгүүдийг бүлэглэх.

Функц, модулиудад анхаарлаа төвлөрүүлэх нь бүтцийн програмчлалын гаднах чулуунуудын нэг бөгөөд энэ нь ORP гарч ирэхээс хэдэн арван жилийн өмнө төмрийн өмнөх парадигм байсан юм.

Бүтцийн програмчлалын асуудлууд

Хөтөлбөрийн хэсгүүд томорч, бүтцийн програмчлалд бэрхшээлтэй тулгарч эхлэв. Төслүүд илүү эвхэгддэг болсон. Хуваарь нь сүйрч байв. Илүү олон програмистууд оролцов. Эвхэх чадвар нэмэгдсэн. Зардал нэмэгдэж, хуваарь нь нурж, уналт эхэлсэн.

Эдгээр бүтэлгүйтлийн шалтгааныг шинжлэх нь процедурын парадигмын дутагдлыг харуулж байна. Програмчлалын бүтцийн хандлагууд хэр зэрэг сайн хэрэгжсэнээс үл хамааран агуу хөтөлбөрүүд гайхалтай төвөгтэй болдог.

Процедурын хэлтэй холбоотой эдгээр асуудлуудын шалтгаан юу вэ? Юуны өмнө функцууд нь дэлхийн өгөгдөлд хандах эрхгүй байж магадгүй юм. Өөрөөр хэлбэл, журам, үнэ цэнэ нь хоорондоо уялдаа холбоогүй, бодит ертөнцийг загварчлах чадвар муутай байдаг.

Бараа материалын хөтөлбөрийн хүрээнд эдгээр асуудлыг авч үзэхийн тулд өгөгдлийн дэлхийн хамгийн чухал элементүүдийн нэг бол бараа материалын нэгжийн нийт дүн юм. Төрөл бүрийн функцийг тэдэнд шинэ утга оруулах, харуулах, өөрчлөх гэх мэтээр өргөжүүлж болно.

Хязгаарлагдмал бус хандалт

Жишээлбэл, Си хэл дээр бичигдсэн програм нь хоёр төрлийн өгөгдөлтэй байдаг. Функцийн дундах орон нутгийн дуудлага болон бусад процедурт нөлөөлөхгүй.

Хэрэв хоёр ба түүнээс дээш функц нь ижил өгөгдөлд хандахыг хориглох үүрэгтэй бол үлдсэн функцүүд нь глобал шинж чанартай байж болно. Жишээлбэл, эдгээр нь даатгалд хамрагдах шаардлагатай зүйлсийн талаархи мэдээлэл юм. Глобал өгөгдөл нь аливаа процедурт боломжтой байж болно.

Гайхалтай програм нь олон функц, олон глобал элементтэй. Процедурын парадигмын асуудал нь тэдгээрийн хооронд илүү боломжит холболтыг бий болгодог явдал юм.

Ийм олон тооны холболтууд нь хэд хэдэн бэрхшээлийг шаарддаг. Юуны өмнө энэ нь програмын бүтцийг илүү төвөгтэй болгодог. Өөрөөр хэлбэл, өөрчлөлт хийхэд илүү төвөгтэй болгодог. Глобал өгөгдлийн элементийг өөрчлөх нь түүнд хандах боломжтой бүх функцийг өөрчлөх боломжтой.

Тухайлбал, даатгалд хамрагдаж буй зүйлийн код нь 5 оронтой биш, 12 оронтой байх ёстой гэж хөтөлбөрт итгэхийг хүсч байна. Тийм учраас богиносголоо урт болгож өөрчлөх хэрэгтэй. Одоо кодтой холбоотой функцуудыг шинэ форматтай ажиллахын тулд өөрчилж болно.

Том хэмжээний программ дахь элементүүд өөрчлөгдөхөд тэдгээрт ямар процедурууд хандах боломжтойг хэлэх нь чухал юм. Гэсэн хэдий ч, таны ойлгож байгаагаар энэ өөрчлөлт нь бусад дэлхийн өгөгдлийг буруу боловсруулахад хүргэж болзошгүй юм. Бүх зүйл хоорондоо уялдаатай байдаг тул нэг газар өөрчлөгдөхөд нөгөө газар бий болно.

Бодит ертөнцийг загварчлах

Нөгөө нь процедурын парадигмын хамгийн чухал асуудал ба энэ нь өгөгдөл боловсруулахтай холбоотой асуудал, дэлхийн ярианы загварчлах чадвар муутай холбоотой юм. Энд бид хүн, машин гэх мэт объектуудтай харьцах боломжтой. Үнэр нь өгөгдөл болон үйл ажиллагааны хувьд ижил төстэй биш юм. Нарийн төвөгтэй бодит объектууд нь шинж чанар, зан төлөвтэй байдаг.

Атрибутууд

Хүмүүсийн шинж чанаруудын жишээ (заримдаа шинж чанарууд гэж нэрлэдэг) нь нүдний өнгө, суудлын нэр, автомашины хувьд хаалганы зузаан, тоо юм. Бодит ертөнцийн шинж чанарууд нь хөтөлбөрийнхтэй дүйцэх нь тодорхой болсон. Өмхий үнэр нь цэнхэр (нүдний өнгө) эсвэл хаалганы тоо гэх мэт тодорхой утгатай.

Повединка

Зан төлөв - бодит ертөнцийн объектууд аливаа хүн амын шилжилт хөдөлгөөнөөс айдаг. Даргаасаа цалин нэмэх талаар асуувал нэг л хариулт өгнө. Дээвэр дээр дарахад машин ганхаж эхэлдэг. Вимовагийн шүд, өгзөг зан авир. Процедурын өмнөх зан байдал нь ижил төстэй байдаг: тэд үүнийг хийх гэж дууддаг, дараа нь үүнийг хий. Тиймээс эдгээр функцууд нь бодит ертөнцийн объектуудыг үр дүнтэй загварчлах боломжгүй юм.

Асуудлыг шийдэж байна

OOP дахь объект нь өгөгдлийн цуглуулга болон функц хэлбэрээр илэрхийлэгддэг. Зөвхөн C++ гишүүн функц гэж нэрлэгддэг процедурууд нь утгыг устгах боломжийг танд олгоно. Мэдээллийг хүлээн авч, өөрчлөлтөөс хулгайлсан. Утга ба функцуудыг нэг бүхэлд нь багтаасан болно. МУЗН-ийн тодорхойлолтын гол нэр томъёо нь капсулжуулалт, хадгалалт юм.

Хэрэв та өгөгдлийг өөрчлөх шаардлагатай бол ямар функцууд тэдгээртэй харьцах нь тодорхой болно. Өөр ямар ч журам тэдгээрт хандахыг хориглож чадахгүй. Энэ нь хөтөлбөрийг бичих, сайжруулах, дэмжихэд хялбар болгоно.

Нэмэлт нь гишүүн функцуудыг оролцуулан нэг биетэй харилцан үйлчилдэг хэд хэдэн объектоос бүрдэнэ.

Өнөөдөр хамгийн өргөн хэрэглэгддэг програмчлал бол C++ (нэмэх нэмэх) юм. Java нь дэлгэц, загвар, олон төрлийн хослол зэрэг олон төрлийн функцтэй бөгөөд энэ нь C++-ээс илүү хэцүү, түгээмэл болгодог. C# хэл нь C++-ийн алдар нэрэнд хүрэх боломжтой хэвээр байна.

Эдгээр C++ гишүүн функцуудыг Smalltalk гэх мэт бусад олон GO-д арга гэж нэрлэдэг болохыг анхаарна уу. Эдгээр элементүүдийг шинж чанарууд гэж нэрлэдэг. Мэдэгдэл авахын тулд объектын арга дээр дарна уу.

Аналоги

Та компанийн хэлтсийн объектуудыг тодорхойлж болно. Ихэнх байгууллагуудад цэргийн албан хаагчид цалингийнхаа улмаас нэг өдөр ажилтнаар ажилладаггүй, үлдсэн хугацааг нь жижиглэнгийн худалдаа эрхэлдэг. Түүний бүх ажилчдыг бэхэлгээнд болгоомжтой байрлуулах нь чухал юм. Энэ бол хамгийн сүүлийн үеийн мэдээлэл: цалингийн үзүүлэлт, борлуулалт, ажил эрхлэлтийн профайл гэх мэт. Хэлтсийн хүмүүс өөрсдийн мэдээллээр ажилладаг. Компанийн хуваагдал нь түүний үйл ажиллагааг хянахад хялбар болгож, мэдээллийн бүрэн бүтэн байдлыг хангадаг. Хэрэв та одоогийн гэр бүлдээ төлсөн нийт цалингийн хэмжээг мэдэх шаардлагатай бол архивыг судлах шаардлагагүй гэдгийг нягтлан бодох бүртгэл баталж байна. Таны хийх ёстой зүйл бол итгэмжлэгдсэн хүнд тэмдэглэл илгээж, тухайн хүн өгөгдөлд хандах боломжтой болтол нь шалгаж, шаардлагатай мэдээллийн баталгааг олох явдал юм. Энэ нь дүрэм журмыг дагаж мөрдөх, гуравдагч этгээдийн хүргэлт байхгүй байх баталгаа болдог. Тиймээс PLO дахь объект өөрөө тайлангийн зохион байгуулалтыг хангах болно.

Объект руу чиглүүлэх нь роботын програмын нарийн ширийн зүйлээр хязгаарлагдахгүй гэдгийг санах нь чухал юм. Ихэнх C++ хэллэгүүд нь C гэх мэт процедурын мэдэгдлийн мэдэгдлүүдтэй төстэй байдаг. Үнэн хэрэгтээ, C++ гишүүн функцууд нь C хэл дээрхтэй нэлээд төстэй байдаг. Зөвхөн илүү өргөн хүрээний контекст нь процедурын мэдэгдэл гэж юу болохыг тогтоох боломжийг олгодог.субъект хандлагатай.

OOP дахь объект: утга

Цахилгаан хангамжийг бусад функцээр солих GO-mov дээрх анхдагч програмчлалыг харахад объектуудтай холбогдоход асуудал гардаг. OOP загвар нь нэмэлт програмуудыг хөгжүүлэх ажлыг ихээхэн хялбаршуулдаг. Энэ нь програм хангамж болон бодит объектуудын ижил төстэй байдалтай холбоотой юм.

OVP-д ямар төрлийн илтгэлүүд объект болж хувирдаг вэ? Ердийн ангиллыг доор харуулав.

ORP дахь физик объект нь:

  • ruhu урсгалын загварт тээвэрлэлт;
  • хэлхээний дизайны хөтөлбөрт цахилгаан элементүүд;
  • эдийн засгийн загварын ирмэгүүд;
  • Салхины хяналтын системд ч мөн адил.

Користувач компьютерийн үндсэн элементүүд:

  • цэс;
  • викна;
  • график (шугам, тэгш өнцөгт, өнгө);
  • гар, хулгана, принтер, дискний хөтчүүд.
  • працівники;
  • оюутнууд;
  • үйлчлүүлэгчид;
  • Борлуулагчид.
  • номын дүр төрх;
  • баруун талд тусгай ажилтан;
  • толь бичиг;
  • хүн ам суурьшсан газар нутгийн өргөрөг, уртрагийн хүснэгт.

Бодит ертөнц дэх объектууд болон ORP хоёрын хоорондох холболт нь хосолсон функц, өгөгдлийн үр дүн болсон: өмхий үнэр нь програмчлалд хувьсгал хийсэн. Процедурын хэлэнд ийм ижил төстэй зүйл байдаггүй.

Анги

OVP дахь объектууд нь ангийн гишүүд юм. Энэ юу гэсэн үг вэ? Таны програмууд нэгдсэн мэдээллийн төрлүүдтэй байж болно. int төрөл нь C++ хэл дээрх бүхэл тоо юм. Та жил бүр хэдэн өөрчлөлт хийх боломжтойг зарлаж болно.

Үүнтэй адилаар нэг ангиллын объект байдаггүй. Энэ нь int нь өөрчлөлт үүсгэдэггүйтэй адил функцууд болон өгөгдөл нь тэдгээрийг үүсгэдэггүй объектуудад багтдаг гэсэн үг юм.

OVP дахь анги нь маш төстэй объектуудын тайлбар юм. Ханхүү, Стинг, Мадонна нар спивакстай. Ийм нэртэй хүмүүс тийм ч олон биш ч ижил төстэй шинж чанартай хүмүүс гэж нэрлэж болно. OOP объект нь ангийн жишээ юм.

тайвширч байна

Амьд ангиудыг дэд ангиудад хуваадаг. Жишээлбэл, амьтдыг хоёр нутагтан, шувууд, шувууд, кома гэх мэтээр хуваадаг.

Энэ төрлийн дэд ангийн зарчим нь арьсны анги нь өөр хоорондоо төстэй ангиас ялгаатай шинж чанартай байдагт оршино. Бүх машин дугуй, мотороо угаадаг. Эдгээр нь тээврийн хэрэгслийн анхны шинж чанар юм. Арьс ширний өвөрмөц шинж чанараас гадна дэд ангилал нь өөрийн гэсэн онцлогтой. Автобуснууд хангалттай зайтай, фургон машинууд нь чухал зүйлсийг тээвэрлэх зайтай байдаг.

Үүний нэгэн адил үндсэн анги нь ижил төстэй олон дэд ангиудын эцэг болж болох бөгөөд тэдгээрийг эрх баригчдын нэмсэн шинж чанараас нь ялгаж салгах байдлаар тодорхойлж болно. Үүнийг функц болгон багасгах нь процедурын програмыг хялбаршуулах болно. Хэрэв та кодын хэд хэдэн хэсгийг нэгэн зэрэг задлах шаардлагатай бол далд элементүүдийг задалж, тэдгээрийг нэг процедурт байрлуулж болно. Гурван програм нь үйл ажиллагаагаа цуцлахын тулд функцийг ашиглаж болно, эсвэл тэд өөрсдийн үйл ажиллагааг цуцалж болно. Энэ нь хэсэг тэнүүлчдэд далдлагдсан өгөгдлийг өшөө авах үндсэн ангитай төстэй юм. Бууруулах функцтэй адилаар энэ нь GO програмыг богиносгож, түүний элементүүдийн харилцан холболтыг тодорхой болгодог.

Дахин дахин використання

Түүгээр ч зогсохгүй, бүтээн байгуулалт, ашиг тусын ангиллын хувьд засгийн газрын нэмэлт, өөрчлөлтийг дахин ашиглах зорилгоор бусад хөтөлбөрт шилжүүлж болно. Энэ нь янз бүрийн программд багтаж болох функцүүдийн номын сантай төстэй юм.

ORP-д уналт гэдэг нь баялаг цаг үеийн vicoristics-ийн өргөтгөсөн санаа юм. Энэ ангийн хувьд үүнийг өөрчлөхгүйгээр нэмэлт функцээр шинээр үүсгэж болно. Анхны PP-ийг дахин хэрэгжүүлэхэд хялбар байдал нь OOP-ийн чухал давуу тал юм. Энэ нь анхны хөрөнгө оруулалтын үр ашгийг нэмэгдүүлэхэд чухал ач холбогдолтой юм.

Шинэ төрлийн өгөгдөл бий болгох

Объектууд нь шинэ төрлийн өгөгдөл үүсгэхэд тохиромжтой. Хөтөлбөр нь хоёр хэмжээст утгатай (жишээлбэл, координат эсвэл өргөрөг, уртраг) бөгөөд арифметик үйлдлүүдийг ашиглан тэдгээрийг шийдвэрлэх шаардлагатай гэж үзье.

байрлал1 = байрлал + гарал үүсэл,

de і гарал үүсэл – бие даасан тоон утгуудын хосууд. Хоёр утгыг агуулсан анги үүсгэх, түүний хувьсах объектуудыг устгах нь шинэ төрлийн өгөгдлийг үүсгэдэг.

Полиморфизм, хувиргалт

Байршлын арифметикийн ашиг тустай = (тэнцүү) ба + (нэмэх) операторууд нь int гэх мэт үүсмэл төрлүүдтэй адил ажилладаггүй. Байршлын объектуудыг хуваарилдаггүй, гэхдээ програм хангамжаар тохируулдаг. Эдгээр операторууд тэдэнтэй хэрхэн харьцахаа яаж мэддэг вэ? Нотолгоо нь тэдэнд шинэ зан үйлийн хэв маягийг өгч болно. Эдгээр үйлдлүүд нь Position классын гишүүн функцууд байх болно.

Операторууд болон процедуруудын юутай ажиллаж байгаагаас хамааран өөрчлөгдөхийг полиморфизм гэж нэрлэдэг. Хэрэв + эсвэл = гэх мэт үндсэн операторууд шинэ төрлийн өгөгдөлтэй ажиллах чадварыг арилгавал дахин хэрэгжүүлэлт байхгүй юм шиг санагддаг. OOP-ийг дахин төсөөлөх нь полиморфизмын нэг төрөл юм. Вона энэ чухал будаа иддэг.

ORP-ийн тухай "Даммигийн объект хандалтат програмчлал" ном нь тайлангийн энэ сэдэвтэй танилцахыг хүссэн бүх хүмүүст өгөх болно.

Объект хандалтын үндсэн зарчим, үе шатууд

програмчлал

Програмчлалын онолын хувьд OOP нь өгөгдсөн программ дээр үндэслэсэн, тус бүр нь нэг төрлийн (анги) жишээ бүхий объектын багц хэлбэрээр, h шатлалыг бий болгодог ангиуд дээр суурилсан нарийн төвөгтэй програм хангамжийг бий болгох технологи гэж тодорхойлогддог.

хүч чадал буурах.

Ийм систем дэх програмын объектуудын харилцан үйлчлэл нь дамжуулах аргаар явагддаг.

Анхаарна уу.Хөтөлбөрийн ийм илрэл нь анх 60-аад онд гарч ирсэн Simula эвхдэг системийн симуляцид гарч ирэв.

Манай загварчлалыг бусад төрөлжсөн загварчлалын хөгжилд оруулан хөтөлбөрөөр танилцуулах байгалийн арга - Smalltalk (70-аад он), дараа нь

51-ээс 2-р тал

PLO-ийн гол отолтууд

Pascal, C++ гэх мэт бүх нийтийн програмчлалын хэлнүүдийн шинэ хувилбаруудын тойм.

ORP-ийн гол давуу тал- модуль хоорондын дуудлагын тоог богиносгож, модулиудын хооронд дамжуулах мэдээллийн хэмжээг өөрчлөх;

модульчлагдсан програмчлалын дагуу. Энэ нь өгөгдлийг илүү их нутагшуулах, боловсруулах горимтой нэгтгэх замаар хийгддэг.

Энэ нь янз бүрийн хэсгүүдийг бие даасан байдлаар задлах боломжийг олгодог

(зорилго) хөтөлбөр.

Үүнээс гадна, объектив хандлага нь технологийн хөгжлийн шинэ арга, тухайлбал бууралт, полиморфизм, найрлага, гадаргуу,

Энэ нь эвхдэг объектуудыг илүү хялбар зохион бүтээх боломжийг олгодог. Үүний үр дүнд кодыг дахин засах үзүүлэлт мэдэгдэхүйц нэмэгдэж,

Төрөл бүрийн зогсонги байдалд зориулсан объектуудын номын санг бий болгох боломж гарч ирж байгаа бөгөөд хөгжүүлэгчид дэвшилтэт эвхэгддэг системийг бий болгох нэмэлт боломжуудыг найдаж байна.

OOP-ийн гол сул тал бол програм хангамжийн системийн нэмэлт эвхэгддэг зохион байгуулалтаар хурдны кодыг багасгах чадвар юм.

OOP нь дараах зарчмууд дээр суурилдаг: хийсвэрлэх,

хандалтыг хуваалцах, модульчлага, шатлал, төрөл, параллелизм,

бат бөх чанар.

Арьсны зарчим гэж юу болохыг харцгаая.

А б с т р а г и р о в а н и- объектив талбарт хийсвэрлэлийг харах үйл явц. Хийсвэрлэл гэдэг нь объектын бусад төрлийн объектуудаас ялгагдах бодит шинж чанаруудын нийлбэр юм.

Ийм байдлаар тухайн объектын онцлог шинжийг цааш харах, дүн шинжилгээ хийх замаар тодорхой тодорхойлдог. Бодит объектын хийсвэрлэл нь задлагдаагүй даалгавар хэлбэрээр үлдэх ёстой нь ойлгомжтой: нэг тохиолдолд бид объектын хэлбэрийг тодорхойлдог, өөр аргаар,

гуравдугаарт - хуваасан материалууд, дөрөвт - эдийн засгийн хууль

51-ээс 3-р тал

PLO-ийн гол отолтууд

сэдэв гэх мэт. Одоогийн хийсвэрлэлийн хурд нь хийсвэрлэлийн бүх хүчийг нэгтгэж байгааг илтгэж байна (би дүн шинжилгээ хийсэн объект болмогцоо,

Ингэж бид түүний зан төлөвийг) нэг програмын нэгж болгон тодорхойлдог

хийсвэр төрөл (анги).

Хандалтын хязгаарлалт- бүхэл бүтэн чухал шинж чанарыг алдагдуулдаггүй хийсвэрлэлийн хэрэгжилтийн янз бүрийн элементүүдийг оруулах.

Хандалтыг харилцан холбох хэрэгцээ нь хийсвэр тайлбарын хоёр хэсгийг салгахад хүргэдэг.

интерфэйс - хийсвэрлэлийг хэрэгжүүлэх боломжтой дуудлагын элементүүдийн нийлбэр (зан үйлийн үндсэн шинж чанарууд);

хэрэгжилт - хийсвэрлэлийг хэрэгжүүлэх боломжгүй элементүүдийн багц (хийсвэрлэлийн дотоод зохион байгуулалт, зан үйлийн механизм).

OOP руу нэвтрэх эрх солилцох нь хөгжүүлэгчид дараахь зүйлийг хийх боломжийг олгодог.

Боловсруулж буй хийсвэрлэлийн тодорхой хэрэгжилтэд анхаарлаа төвлөрүүлэхгүйгээр системийн дизайныг алхам алхмаар бий болгох;

Зөв зохион байгуулалттай бол бусад объектуудыг өөрчлөх шаардлагатай зарим объектын хэрэгжилтийг өөрчлөхөд хялбар байдаг.

Аливаа объектын бүх хүчийг (энэ нь түүний зан төлөв болох болно) нэг хийсвэрлэлд нэгтгэж, эдгээр эрх мэдлийг хэрэгжүүлэх боломжийг хязгаарлахыг капсул гэж нэрлэдэг.

М о д у л н о с т- програм хангамжийн системийг хөгжүүлэх зарчим,

хэрэгжилтийг салангид хэсэг (модуль) хэлбэрээр дамжуулдаг. Системийг модуль болгон задлахдаа логик холбогдсон хэсгүүдийг нэгтгэх нь чухал бөгөөд ингэснээр модулиудын хоорондох гадаад холболтын тоог аюулгүйгээр богиносгож болно. Буурах зарчим

51-ээс 4-р тал

PLO-ийн гол отолтууд

модульчлагдсан програмчлал, үүнийг дагаснаар дизайн болон

програм хангамж хөгжүүлэх

Шатлал - эрэмбэлсэн эсвэл эрэмбэлэгдсэн хийсвэрлэлийн систем.

Шатлалын зарчим нь програм хангамжийн системийн хөгжлийн шатлалын түүхийн туршид дамждаг.

OOP-д хоёр төрлийн шатлал байдаг.

Шатлал "бүхэл бүтэн/хэсэг"- Тодорхой хийсвэрлэл орсон байгааг илтгэнэ

Хийсвэрлэлийг түүний хэсэг болгон авч үзье, жишээлбэл, дэнлүүг суурь болгон нугалж, утсыг нь шарж, чийдэнг нь авч үзье. Шатлалын энэ хувилбар нь дизайны янз бүрийн үе шатанд системийг хөгжүүлэх явцад (логикийн хувьд - субьект хэсгийг объект болгон задлах үед, физикийн хувьд - системийг модуль болгон задлах, олон процесст систем дэх холбогдох үйл явцыг ажиглах үед) боловсруулагдсан болно. ).

"Хөшигний ард/хувийн" шатлал- энэ хийсвэрлэлийг өөр хийсвэрлэлээр нөхөж байгааг харуулж байна, жишээлбэл, "нийт хүснэгт -

тодорхой төрлийн ширээ," ширээ нь тодорхой төрлийн тавилга юм." Vikorist at

Хэрэв нарийн төвөгтэй ангиуд нь шинэ шинж чанаруудыг нэмж, магадгүй байгаа шинж чанаруудыг нь тодруулах замаар илүү энгийн ангиудад үндэслэх юм бол ангиудын бүтцийг өргөжүүлэх.

OVP-ийн хамгийн чухал механизмуудын нэг бол нууц/хувийн шатлал дахь эрх мэдлийн бууралт юм. Конденсаци нь хийсвэрлэлийн хоорондын хамаарал бөгөөд хэрэв тэдгээрийн аль нэг нь нөгөө эсвэл хэд хэдэн хийсвэрлэлийн бүтцийн эсвэл функциональ хэсэг бол (энгийн болон үржвэрийн аль аль нь)

Амралт).

T i p i z a s i i - объектын хүч чадалд ногдуулсан солилцоо.

өөр өөр төрлийн хийсвэр солигдох (эсвэл ийм солих боломж нь маш хүчтэй сонсогдож байна) гаталж байна. Арьсны програмын объектыг хатуу тодорхойлсон хэлээр (өөрчлөлт, дэд хөтөлбөр, параметр гэх мэт)

нэг нь инвазив бус мэс засал гэсэн үг төрөл нь цочирддог

Тал 5 z 51

PLO-ийн гол отолтууд

тусдаа програм хангамжийн объект болгон. Паскаль дээр суурилсан дээр дурдсан програмчлал нь vikoryst бөгөөд C дээр үндэслэсэн -

төрөлжүүлэх дунд үе шат.

Бичих зарчмыг дагаж мөрдөх нь дараахь зүйлийг хангана.

Програмын объектууд дээр хүлээн зөвшөөрөгдөөгүй үйлдлүүдтэй холбоотой алдааг эрт илрүүлэх (програм хангамжийн объект дээр ямар нэгэн үйлдэл хийхийг зөвшөөрөх эсэхийг шалгахын өмнө програмыг эмхэтгэх үе шатанд завсарлага илрүүлдэг);

хялбаршуулсан баримт бичиг;

Үр дүнтэй код үүсгэх боломж.

Төрөл нь програмын объекттой статик байдлаар холбогдож болно (объектийн төрлийг эмхэтгэх үе шатанд тодорхойлно - эрт холболт)ба динамикаар (объектийн төрлийг зөвхөн програмыг ажиллуулсны дараа тодорхойлно - дараа холболт).Манай програмчлалд хоцрогдсон харилцааны хэрэгжилт нь өөр өөр ангилалд хамаарах объектууд дээр өөрчлөлт хийх боломжийг олгодог (полиморф объектууд),Энэ нь хэлний боломжийг үндсэндээ өргөжүүлдэг.

П а р а л е л и з м- хэд хэдэн хийсвэрлэлийн хүчийг нэгэн зэрэг идэвхтэй үе шатанд шилжүүлдэг. бүх үйлдлийг цуцлах.

Бүхэл бүтэн доод дараалал байдаг бөгөөд хамгийн чухал нь тодорхой дараалсан үйлдлүүдийг нэн даруй хийх явдал юм. Ийм өдрүүд ирэх хүртэл,

Жишээлбэл, хэд хэдэн процессыг автоматаар боловсруулах ажил байдаг.

Хэрэв ижил процессороор арьсны үйл явцыг хянах боломжтой бол олон процессортой систем дээр ийм төрлийн ажлыг хэрэгжүүлэхэд бодит параллелизмд хүрдэг. Нэг процессортой системүүд нь өөр өөр процессуудыг ажиллуулах хооронд процессорын хагас цагийг хуваалцах параллелизмтэй байдаг. Сонгосон үйлдлийн системийн төрлөөс хамаарна (ганц эсвэл олон программ)

Тал 6 z 51

PLO-ийн гол отолтууд

Ойролцоогоор нэг цаг орчим бид задрах системтэй болж болно (д

MS DOS), эсвэл хувийн үйлдлийн систем (Windows систем гэх мэт).

У ш и с т- хийсвэрлэх хүч нь тухайн програм хангамжийн объект үүсэх процессоос болон/эсвэл хаягийн орон зайгаас ямар төрлийн бүтээл рүү шилжих орон зайгаас үл хамааран үүсдэг.

Хуваах:

∙ үйл ажиллагааны завсрын үр дүнг хадгалдаг цаг хугацааны объектууд, жишээлбэл, тооцоолол;

∙ дэд программуудын дунд байрлах локал объектууд, тэдгээрийн ашиглалтын цагийг дэд хөтөлбөрийн хариунаас түүнийг дуусгах хүртэл тооцдог;

∙ дэлхийн объектууд, програм нь нууцлаг хэвээр байгаа нь ойлгомжтой;

∙ хадгалагдсан объектууд, тэдгээрийн өгөгдөл нь компьютерийн програмын сесс хооронд гадаад санах ойн файлд хадгалагддаг.

Бүх зарчмууд нь объект хандалтат компьютерийн янз бүрийн хувилбаруудад хэрэгждэгтэй ижил аргаар тодорхойлогддог.

Объект хандалтат програмчлал. Хэл чухал объект хандалттай,Шинэ хэрэгжилтийн нэгэн адил дээр дурдсан долоон зарчмын эхний зарчмууд хэрэгжиж байна.

Delphi болон C++Builder объектын загварууд ялангуяа түгээмэл байдаг. Эдгээр загварууд нь MS DOS-д зориулсан OOP-оор шинэчлэгдсэн бөгөөд зарим шинэ боломжуудыг агуулсан,

нугалах системийг үр ашигтайгаар бий болгох. Эдгээр загварууд дээр үндэслэн Windows программуудыг хөгжүүлэх визуал орчныг бий болгосон.

Windows дээр програмчлалын хялбар байдал илт харагдаж байна

програмчлалын технологийн олон элементүүдийг "хадгалж" байсан объектуудын тусгай номын санг бий болгох зардлыг бууруулах.

Хажуу тал 7 z 51

PLO-ийн гол отолтууд

Вики-д суурилсан OOP-ээс програм хангамжийн системийг хөгжүүлэх үе шатууд.

ORP өгөгдөл бүхий програм хангамжийг боловсруулах үйл явц нь дүн шинжилгээ, дизайн, хувьсал, өөрчлөлт зэрэг хэд хэдэн үе шатыг агуулдаг.

Үе шатуудыг харцгаая.

А на liz. Мета-анализ - ургамлын хамгийн бүрэн тодорхойлолт. Энэ үе шатанд өгөгдлийн сэдвийн талбарт дүн шинжилгээ хийх ажил дуусч, системийн задралын объектын задрал, объектын зан үйлийн хамгийн чухал шинж чанаруудыг тодорхойлсон (хийсвэрлэлийн тайлбар). Шинжилгээний үр дүнгийн дагуу програм хангамжийн бүтээгдэхүүний бүтцийн диаграммыг задалж, тэдгээрийн хооронд дамжуулж буй үндсэн объект, мэдээллийг харуулсан бөгөөд хийсвэрлэлийн тайлбараар төгсдөг.

Дизайн. Хуваах:

илүү логик дизайн,Шийдвэр гаргах бүрт үйл ажиллагааны (үйлдлийн систем ба тоног төхөөрөмж) оюун ухаанд худал хэлэхгүй байх нь практик юм;

физик дизайн,Ах дүүсээ өргөмжилсөн хүн албан тушаалтныг өргөмжилдөг.

Илүү логик дизайнАнгиудын бүтцийг хөгжүүлэхэд оршино.

агуулахын объектуудыг хадгалах талбарууд, аргын алгоритмуудыг тодорхойлж, объектын зан үйлийн талуудыг хэрэгжүүлдэг. Энэ тохиолдолд бид харж байгаа зүйлээ харж, ангиудын хуваагдлыг хүлээн зөвшөөрдөг (бууралт,

найрлага, гадаргуу, полиморфизм гэх мэт). Үүний үр дүнд ангиудын харилцан холболтыг тусгасан шатлал эсвэл ангиллын диаграмм, ангиудын тодорхойлолт гарч ирнэ.

Физик дизайнмодулийн ангиллын тодорхойлолт, тэдгээрийн холболтын схемийг сонгох (статик эсвэл динамик зохион байгуулалт), тоног төхөөрөмжтэй харилцах аргыг сонгох,

үйлдлийн систем ба/эсвэл бусад програм хангамж (жишээлбэл,

мэдээллийн сан, захын зурвасын програмууд), зэрэгцээ боловсруулалтын системүүдийн процессуудын синхрончлолыг хангах гэх мэт.

Хажуу тал 8 z 51

PLO-ийн гол отолтууд

Би тэдэнтэй хамт хувьсдаг.Энэ нь алхам алхмаар хэрэгжүүлэх үйл явц ба

Ангиудыг төсөлтэй холбох Процесс нь удахгүй гарах програм хангамжийн бүтээгдэхүүний үндсэн програм, төслийг бий болгохоос эхэлдэг. Дараа нь бүдүүлэг анги үүсгэхийн тулд ангиудыг хэрэгжүүлж, холбодог, эсвэл боломжтой бол

удахгүй гарах системийн ажлын прототип. Үүнийг туршиж, сайжруулсан.

Жишээлбэл, ийм прототип нь програм хангамжийн бүтээгдэхүүний үндсэн интерфейсийн хэрэгжилтийг багтаасан систем байж болно (системийн хэсэг нь эцэслэн шийдэгдээгүй байгаа өдрийг мэдээлэхийн тулд шилжүүлэх). Үүний үр дүнд бид бүтээгдэхүүний прототипийг сонгодог бөгөөд жишээлбэл, тодруулга хийх зорилгоор зааж өгч болно. Дараа нь бүлэг ангиуд нь системд холбогдсон, жишээлбэл, үндсэн цэсийн зүйлийг хэрэгжүүлэхтэй холбоотой.

Альтернатив хувилбарыг мөн туршиж, сайжруулж, системийн бүх боломжуудыг хэрэгжүүлэх хүртэл үргэлжлүүлнэ.

Энэхүү алхам алхмаар хэрэгжилт нь програм хангамжийн бүтээгдэхүүнийг турших, хөгжүүлэх ажлыг ихээхэн хялбаршуулдаг.

Өөрчлөлт. Энэ нь шинэ функциональ чадавхийг нэмэх, системийн үндсэн эрх мэдлийг өөрчлөх үйл явц юм. Дүрмээр,

Өөрчлөлтүүд нь ангиллын хэрэгжилтийг дуусгаж, интерфэйсийг нь өөрчлөхгүйгээр орхиж, ингэснээр өөрчлөлтийн үйл явц нь орон нутгийн бүс нутгийг хамардаг тул vicoristan ORP-ээс онцгой хүндрэл учруулахгүй байх боломжтой.

Интерфейсийг өөрчлөх нь тийм ч хэцүү ажил биш, эс тэгвээс энэ шийдэл нь бусад ангиллын програмуудад өөрчлөлт оруулах шаардлагатай объектуудын харилцан үйлчлэлийн процессыг сайжруулах шаардлагатай болж магадгүй юм. Гэсэн хэдий ч модульчлагдсан програмчлалтай уялдуулан интерфэйсийн хэсэг дэх хэд хэдэн параметрүүдийг богиносгосноор энэ үйл явцыг ихээхэн хялбаршуулдаг.

Өөрчлөлтийн энгийн байдал нь програм хангамжийн системийг үйл ажиллагааны сэтгэхүйд хялбархан дасан зохицох боломжийг олгодог бөгөөд энэ нь системийн ашиглалтын цагийг хөгжүүлэхэд ихээхэн цаг хугацаа, материаллаг нөөцийг зарцуулдаг тул өөрчлөгдөж байдаг.

Хажуу тал 9 z 51

PLO-ийн гол отолтууд

OOP-ийн онцлог шинж чанарууд ба объект эсвэл бүлэг объектыг тусад нь салгах боломжтой бөгөөд тэдгээрийн дизайныг янз бүрийн үе шатанд хийж болно. Жишээлбэл, интерфэйсийн ангиудыг аль хэдийн хэрэгжүүлсэн боловч домэйн ангиудын бүтцийг зааж өгсөөр байна.

Шинжилгээний явцад тухайн сэдвийн аль нэг хэсгийг бүрэн дүрсэлсэн үед дизайн эхэлдэг.

Объект дээр суурилсан аргын үндсэн аргуудыг объектын задралаар дүрсэлсэн болно.

Объектын задрал

Бидний таамаглаж байсанчлан орчин үеийн OOP технологийг ашигласнаар шийдэл нь үзэл бодлоос гардаг хэд хэдэн функциональ элементүүдийн харилцан үйлчлэлийн үр дүнүйл явцтай аливаа систем,

даалгаврын сэдэв нь юу вэ.

Ийм арьсны систем нь хамгийн чухал ажлыг гүйцэтгэх явцад аливаа оролтын урсгалыг (мэдээлэл гэж нэрлэдэг) үгүйсгэдэг функциональ элементтэй байдаг.

дууны үйлдлийг цуцална (жишээлбэл, та эрчим хүчний бүтцийг өөрчлөх, тооцооллыг арилгах, хуваарь гаргах, бусад элементүүдийг оруулах боломжтой). Процесс нь даалгаврыг шийддэг Дарааллын мэдээлэл.Элементээс элемент рүү мэдээлэл дамжуулах замаар систем нь шаардлагатай үйлдлүүдийг сонгодог.

Системийн функциональ элементүүд, тэдгээрийн параметрүүд, зан үйлийг бие даасан зан үйлд хүргэж болзошгүй сэтгэцийн ажилд хуваарилдаг.

(элементийн хэлбэрээр оршдог үйлдлүүдийг "дүгнэх" тулд) объектын нэрийг хассан.

Субъект талбарыг мэдээлэл солилцох объектуудын иж бүрдэл болгон төлөөлөх үйл явцыг нэрлэдэг объектын задрал.

Хажуу тал 10 z 51

PLO-ийн гол отолтууд

Тодорхой тохиолдол бүрт эцсийн объектын задралд ямар төрлийн объектуудыг авч үзэхийг ойлгохын тулд эвхдэг системийн зан үйлийн янз бүрийн загваруудыг дуурайлган хөгжүүлэх анхны объектын хандлагыг ойлгох шаардлагатай. Ийм системийн объектуудын багцыг загварчилж буй процессуудад дүн шинжилгээ хийхдээ тодорхойлдог.

өгзөг. Объектын задрал (симуляцийн загвар

шатахуун түгээх станцууд). Шатахуун түгээх станцын тоо, арьсны шатахуун түгээх станцын үйлчилгээний параметрүүд, шатахуунаар цэнэглэх хүсэлтийн эрчим (бид нэг төрлийн түлшийг авч үзэж байна) зэргээс шалтгаалж шатахуун түгээх станцад үлдсэн шатахууны талаар санаа зовохоо болиоч. ).

Энэ төрлийн ажил нь дуураймал загвар ашиглахад тулгуурлана. Загвар нь тодорхой параметр бүхий бодит үйл явцыг программчлан харуулахын зэрэгцээ түүний шинж чанарыг нэгэн зэрэг бүртгэдэг. Програмд ​​үйлчилгээ үзүүлэх, хүлээн авах параметрүүдийн өөр өөр утгууд бүхий загварчлалын үйл явцыг давтан хийснээр судлаач ордын шинжилгээний график болох шинж чанаруудын тодорхой утгыг сонгодог.

Гурван шатахуун түгээх станцтай шатахуун түгээх станцыг ажиллуулах үйл явцыг дараах диаграммд харуулав.

Дэлхий дээр нарийн тооцооллын технологи, компьютерийг илүү төвөгтэй ажлуудад ашиглаж эхэлсэн. Эвхэх даалгаврыг нэмэгдүүлэх нь компьютерийн тооцооллын нарийн төвөгтэй байдал, нугалах програм бичих үр дүнтэй байдлаас шалтгаалан чухал ач холбогдолтой болсон. Объект хандалтат програмчлал(OOP) Виник өөрөө нугалах программ үүсгэх үед гарч буй бэрхшээлийг шийдвэрлэх үр дүнтэй арга юм.

OOP-ийн хамгийн чухал хэсэг нь нарийн төвөгтэй програмчлалын даалгаварт тусгай арга барил гэж нэрлэгддэг объект хандалтат шинжилгээ, Мөн объект хандалтат програмчлал нь энэ аргыг хэрэгжүүлэхэд хялбар хэрэгсэл юм.

Түүх

PLO-ийн удирдагчид бол алдарт Норвегичууд Кристен Нигаард, Оле-Йохан Дал нар юм. Усан онгоцны загварчлал дээр ажиллаж байхдаа Nygaard програм хангамжийн үндсэн шинж чанарууд нь ийм нарийн төвөгтэй програмуудыг бүтээхэд үр дүнгүй гэдгийг ойлгосон тул Nygaard эвхэгддэг тул хөндлөвчийг нэмэгдүүлэх боломжийг олгодог шинэ програмчлалын үзэл баримтлалыг боловсруулж эхлэв. анх удаа. объект хандалттай(Энэ нэр томъёог Жава хэлний зохиолч Алан Кэй зохиосон). Оле-Йохан Дал Нигаардтай хамт бид ORP-ийн үндсэн зарчмууд болон тэдгээрийг хэрэгжүүлэх практик механизмд дүн шинжилгээ хийсэн бөгөөд дараа нь анхны ORP Simula-ийн боловсруулсан. Эдгээр эрдэмтдийн гавьяаг дэлхийн шинжлэх ухааны нийгэмлэг өндрөөр үнэлж, 2001 онд Нигаард, Далл нар компьютерийн шинжлэх ухааны салбарт Нобелийн шагналын нэг төрөл болох Алан Тюрингийн шагналын эзэд болжээ.

Mova Simula нь эрдэм шинжилгээний хүрээлэлд алдартай болсон боловч хэд хэдэн шалтгааны улмаас арилжааны програм хангамж хөгжүүлэгчдийн дунд нэр хүндтэй болж чадаагүй юм. Эдгээр үндсэн санаанууд болон ORP-ийн боломжууд нь програмистуудын сонирхлыг их татсан. Олон жилийн турш бусад OY-ууд бий болсон: SmallTalk (1980), C++ (1985), Эйфель (1986), Object Pascal (1986) болон Delphi (1995), Oberon-2 (1991), Java (1991), Visual Basic (1991) болон бусад олон. Эдгээр компанийн үйл ажиллагаа хөтөлбөрт үйлдвэрлэлийн стандарт болсон.

OOP-ийн онцлог

OOP-ийн гол санаа нь програмын бүтцийг бий болгоход оршино, тэдгээрийн зан байдал, харилцан үйлчлэл нь бодит ертөнц дэх объектуудын зан байдал, харилцан үйлчлэлтэй төстэй (ингэснээр програм нь аналог биш виртуалыг бий болгож чадна. бодит мөн чанар). Объект хандалтат программчлал нь энэхүү хандлагыг гар аргаар хурдан хэрэгжүүлэх боломжоор хангах үүрэгтэй.

Өдөр тутмын амьдралд хүмүүс "бодлын хэмнэлт"-ийн янз бүрийн аргуудад тулгуурладаг (яах ч хэрэггүй) нь эвхдэг хайрцгийг энгийн үгээр ойлгож, илэрхийлэх боломжийг олгодог. Мөнгө хэмнэх ердийн аргууд нь:

· Хийсвэрлэл (сүлжээний бус дэлгэрэнгүй мэдээллийг хийсвэрлэх);

· Узгалнення (янз бүрийн объект эсвэл объект дээр далд тэмдгийг харах);

· Ангилал (объектуудын хоорондын хамаарал, тэдгээрийн ижил төстэй байдлын түвшинг хүлээн зөвшөөрөх).

Энэ нь хүмүүст харж буй объектуудын нарийн төвөгтэй байдлыг даван туулахад туслах энгийн арга юм. Объект хандалтат програмчлал нь "програмын эмх замбараагүй байдалтай тэмцэх" боломжийг олгодог. Програмчлалд объект хандалтат хандлагыг хэрэгжүүлэхийн тулд шинэ ойлголтуудыг нэвтрүүлсэн.

· Объектууд - өгөгдөл, тэдгээрийг боловсруулах алгоритмыг нэгтгэсэн тусгай програмын бүтэц;

· Encapsulation - объектуудын үйл ажиллагааны нарийн ширийн зүйлийг авах;

· Spudkuvannya - шинэ анги үүсгэх "богино зам" арга;

· Полиморфизм - нэг функцийн олон хэрэгжилтийг нэгтгэх боломж.

Объект ба анги

Объектууд нь эдгээр алгоритмуудаас бүрдсэн тусгай програмын нэгжүүд юм ижил өгөгдлийг боловсруулахад зориулагдсан. Тухайн объектын агуулахад орж буй өгөгдлийг дуудна талбайнууд(Шинж чанар, эрх мэдэл, гишүүд). Объектын агуулахад орох алгоритмуудыг дуудна аргууд(Үйлчилгээ, үйл ажиллагаа, гишүүний чиг үүрэг). Харамсалтай нь OVP-д нийтлэг ядарсан нэр томъёо байдаггүй бөгөөд тэдгээрийг ойлгохын тулд өөр өөр хэл дээр өөр өөр нэр томъёог ашигладаг.

Класи- Эдгээр нь объектив төрлийн өгөгдөл юм. Бүхэл тоо нь бүхэл тоон төрөлд (жишээ нь, бүхэл тоо эсвэл байт) хамаарахтай адил объектууд нь объектын төрөл - ангид хамаарна. Ижил ангийн бүх объектууд ижил талбар, ижил аргуудтай байдаг.

Нийтлэг хэлээр (C++, Java) объектуудыг дууддаг Би хуулбарыг хадгалдаг(тохиолдлууд).

Төрөл бүрийн анги, объектын сул тал нь өгөгдөл боловсруулахад зориулагдсан өгөгдөл ба функцуудын логик (семантик) холболтыг шалгах нь өчүүхэн ажил бөгөөд үүнийг голчлон хөрвүүлэгч (компьютер) руу шилжүүлэх боломжтой - одоо та өгөгдөл байгаа эсэхийг тодорхойлох боломжтой. буруу зассан.

Бүрхүүл

Encapsulation (шууд утгаараа - "хүлээн авах") - ангийн дотоод бүтцийн талаархи мэдээллийг хяналттай олж авах. Анги нь объектуудын ажлыг хангахад ашигладаг талбар, аргуудтай байж болно (жишээлбэл, динамик санах ой дахь буфер, ажлын өгөгдөл бүхий файл, энэ файлтай ажиллах аргууд гэх мэт). Ийм талбаруудыг өөрчлөх эсвэл дуудлагын объектын аргууд дээр дарах нь аюулгүй биш юм - энэ нь таны системийг устгах болно. Талбай гэх мэт объектуудын аюулгүй байдлыг хангахын тулд энэ аргыг хэрэглэж болно шүүрэх- Тэдний өмнө араатныг хамгаал.

"Байлдааны нарийн төвөгтэй байдал" гэсэн байр сууринаас эхлэн капсулжуулалт нь объекттой ажиллах зөв байдлын хяналтын хэсгийг хөрвүүлэгч (компьютер) руу шилжүүлэх боломжийг олгодог.

Бид талбаруудыг бүрхэх янз бүрийн боломжууд болон аргуудыг (бүх талбарыг автоматаар бүрхэх хүртэл өдөр бүр) харуулах болно. C++, Java, Delphi, Eiffel гэх мэт объект хэлний салбарууд нь гурван түвшний капсулжуулалтын талбар, аргуудтай байдаг.

· олон нийтэд - анх удаа нийтийн талбайнуудОбъектуудын аргуудын хооронд нийтлэг солилцоо байдаггүй;

· хамгаалагдсан - шууд талбайнуудыг хулгайлцгааяЭнэ ангийн арга, хүүхдийн ангийн аргаас өөр арга байж болохгүй;

· хувийн - шууд дээш хувийн талбайнуудмөн аргуудыг энэ ангийн аргуудыг буруутгаж болно.

тайвширч байна

тайвширч байна- одоо байгаа ангиудад нэмэлт мэдээлэл оруулах замаар шинэ анги үүсгэх, үүнээс зайлсхийсэн элементүүдийн тайлбарыг орхих. Удамших үед шинэ анги дуудагдана ангиараа(хүүхдүүд, дэд анги), гаралтын анги гэж нэрлэдэг өвөг дээдсийн анги(Үндсэн, Баткивский, супер анги).

Бууруулах нь давтагдсан тайлбарыг унтрааснаар програмын хэмжээг богиносгох болно. Өвөг дээдсийн ангилалд зарлагдсан бүх талбарууд болон аргууд нь автоматаар дэд ангиуд руу шилждэг бөгөөд тэдгээрийг ихэвчлэн дууддаг. буурах(танилцуулах болно).

Аавын арга юу ч шаардана, чи чадна дахин үнэ цэнэ- тобто. Ангийн платформын аргатай адил өөр алгоритмыг ашигладаг болохыг хүлээн зөвшөөр.

Үйл ажиллагааг урамшуулж байна олон удаагийн бууралт, нэг анги нь хэд хэдэн ангиудын дунд нэгэн зэрэг бүх хүч болон аргуудыг бууруулдаг. Харамсалтай нь, дэмжлэг нь хэлний програмчлал, ялангуяа хөрвүүлэгчийг төвөгтэй болгодог тул төөрөгдлийн ихэнх хэсэг нь логик зөрчилдөөнд нуугдаж байдаг. Эдгээр шалтгааны улмаас ихэнх тохиолдолд уналтын дийлэнх хэсгийг зүгээр л хаадаг, эс тэгвээс үүнийг арилгаж болно.

Бүх өвөг дээдсийн анги, гарал үүслийн ангиудын нийлбэрийг нэрлэдэг Ангиудын шатлал.

Ангийн конденсаци нь бусад ойлголт, механизм дээр шууд ба шууд бусаар суурилсан OOP-ийн гол ойлголт юм. ORP механизмуудын үнэмлэхүй дийлэнх нь давуу талуудаа илчлэхийн тулд ангиудын шатлалыг шаарддаг.

Полиморфизм

Полиморфизм(Шууд утгаараа - "хэлбэрийн олон янз байдал") - ижил төстэй ач холбогдолтой хэд хэдэн аргад (эсвэл функц) нэг нэр ашиглах чадвар. Өөр нэг тайлбар - нэг арга (функц) нь хэрэгжүүлэх хэд хэдэн сонголттой байж болно; ийм арга (функц) гэж нэрлэдэг полиморф. Бусад ORP механизмуудын нэгэн адил полиморфизм нь нарийн төвөгтэй програмуудыг боловсруулахад хялбар болгодог. Үнэн хэрэгтээ полиморфизм нь үзэл баримтлалыг бэхжүүлдэг юубас мөнгө олох хэрэгтэй сарлагАймхай байх шаардлагагүй.

Хэрэв бид бодит амьдралаас аналоги татах юм бол полиморфизм нь бодит амьдралтай нийцдэг. Жишээлбэл, "хөгжим" гэдэг нь "хөгжмийн зэмсэг тоглох" гэсэн утгатай. Гэхдээ янз бүрийн хөгжмийн зэмсгүүдийг өөр өөр хэлбэрээр тоглодог. Ганцхан нэр томъёо байдаг, гэхдээ маш олон сонголт байдаг. Тэгэхээр, "хөгжим" - полиморф үйлдэл. OOP-д "mae music"-ээр баталгаажсан полиморф арга, энэ нь хөгжмийн зэмсгийн арьсан ангилалд зориулагдсан

OOP-д хоёр төрлийн полиморф аргууд байдаг өшөө авалті виртуал.

Шинэчлэх аргуудВиконаннигийн хувьд хүлээн зөвшөөрөгдсөн Төрөл бүрийн өгөгдлөөс. Өөр өөр нэрс, түүнчлэн өөр өөр аргументуудын жагсаалт ба/эсвэл эргүүлж буй утгын төрөл байдаг.

Виртуал аргууд Виконаннигийн хувьд хүлээн зөвшөөрөгдсөн гэхдээ солих үйл ажиллагааны ардмаргаантай асуудалд, гэхдээ хичээлээс зайлсхийдэг. Гэхдээ виртуал аргууд нь шинэ нэр, загвартай байдаг. Тэдний гол онцлог нь объектын бодит ангилалд үргэлж үнэн зөв тохирдог явдал юм.

Дахин төсөөлсөн функцүүдийн ердийн жишээ бол Паскалийн SQR функц юм. Вон тооны квадратыг тооцоолдог бөгөөд бүхэл аргументуудын хувьд үр дүн нь ижил байх ба ярианы аргументуудын хувьд энэ нь хэлэх боломжтой байх болно.

Виртуал аргын давуу тал нь зөвхөн ангиллын өөр өөр шатлалд илэрдэг. Виртуал аргыг ашиглах ердийн схем нь дараах байдалтай байна.

· Шатлалын өвөг дээдсийн анги нь полиморф аргатай бөгөөд энэ нь гүнзгий шилжилт хөдөлгөөнийг илэрхийлдэг. Энэ тохиолдолд vikorist виртуал арга эсвэл арга нь өөрөө виртуаль юм.

· Буух ангиудын хувьд харгалзах виртуал аргыг дахин үнэлдэг – арьсны ангиллын хувьд харгалзах үйлдлийг өөрийн замаар дахин үнэлдэг.

· Эцэг ангид хамаарах объект руу дуудлага хийх үед полиморф аргыг үндсэн ангийн виртуал арга руу (өвөг анги биш) дууддаг.

Виртуал аргуудыг ашиглах сайн жишээ бол Delphi эсвэл Visual Basic-ийн график цонхны интерфейсийн систем юм: график интерфейсийн харагдах элемент нь товчлуур, товчлуур гэх мэт. - TControl ангилалд хамаарах боломжтой. TControl анги нь график интерфэйсийн элементүүдийг будах дэвшилтэт полиморф аргуудыг танилцуулдаг бөгөөд та дэлгэцэн дээрээ гараар будаж болно.

2004 оны Рок стандартад объект хандалтат програмчлалыг таних боломжгүй боловч Обовязковын минимумд мэргэшсэн оюутнуудад зориулсан мэдээллийн шинжлэх ухааны оронд сэдэв байх болно (Riven B): Объект хандалтат програмчлал: объект, объектын хүч, объект дээрх үйлдлүүд. Объект хандалтат програмчлалын технологийг мөн тэнд зохион бүтээсэн.

Prote OVP нь баян сургуулиудын компьютерийн шинжлэх ухааны практикийг (програмчлалын) хялбархан хөгжүүлээгүй, мөн сургуулийн хэрэглүүрийн хуудсан дээр ( УгриновичН.Д. Компьютерийн шинжлэх ухаан, мэдээллийн технологи. 10-11-р ангийн Пидручник, 2005. М: БИНОМ. Мэдлэгийн лаборатори). Түүнчлэн бага сургуулийн компьютерийн шинжлэх ухааны пропедевтик курс (О. Горячовын удирдлаган дор зохиогчийн багийн ажлын оёдол. 1-4-р анги) нь мөн ойлголт өгөх болно. обьектмөн його эрх баригчид.

OOP-ийн технологи (парадигм) нь одоогийн програмчлалын техникийг эзэмшихээс илүүтэй үндсэн асуудлын объект загварыг боловсруулахад чиглэгддэг. Үүний тулд ирээдүйд OOP болон програмчлалын үндсэн зарчмуудын талаар сайн мэдлэгтэй байх шаардлагатай бөгөөд аливаа OOP-ийн мэдлэг нь заавал байх албагүй - OOP-ийг үүсгэн байгуулагчид болон онолчид энэ талаар нэгээс олон удаа бичсэн байдаг. Иймд Грейд Буч "Объект хандалтат дизайн ба шинжилгээ" номондоо "Та ямар ч (объект хандалтат бус) хэлээр программыг объект хандалтат хэв маягаар бичиж болно. gramovannya" гэж хэлсэн байдаг. OOP технологийн алгоритмыг идэвхжүүлэхийн тулд алгоритм ажиллаж буй объектуудын жагсаалтыг гаргаж, арьсны объектын хүчийг бодож, эдгээр объектын тайлбаруудын харилцан үйлчлэлийн үр дүнд алгоритмыг хэрэгжүүлэх шаардлагатай.

Статистик дээр дурдсанчлан ийм хандлага нь ихэнх нарийн төвөгтэй ажлуудыг хялбарчлах болно, гэхдээ сургуулийн хүрээнд (хязгаарлагдмал хэдэн жилийг эс тооцвол) анхны даалгавруудыг солих нь чухал юм. шинэ технологиудыг ашиглахаас холдохгүйн тулд.Гадаад ертөнцөд ORP.

Үнэн хэрэгтээ, сургуулийн OVP нь одоогийн мэргэжлийн програмчлалын систем дэх харааны болон бүрэлдэхүүн хэсэг програмчлалын үл үзэгдэх хэсэг бөгөөд объектуудыг янз бүрийн түвшний ашиглахад бэлэн объектын сангуудад судалж байгаа тул график интерфэйсийг ашиглах номын сангууд гэж үздэг. Windows нэмэлтүүд болон баялаг бүх нийтийн номын сангийн өгөгдлийн төрлүүд (жишээ нь, STL C++). Эдгээр сангуудыг хэрхэн ашиглах талаар сурахын тулд програмчлалынхаа синтаксийн хэд хэдэн энгийн дүрмийг мэдэж, ойлгоход хангалттай. Гэсэн хэдий ч ийм "мэдлэг" нь оюутнуудыг миний програмчлалын мэргэжлийн хөгжилд ойртуулдаггүй, мөн OVP-ийн талаархи ойлголтод хүргэдэггүй. Але, дуу, үүнд ямар ч аймшигтай зүйл байхгүй. Сургуулийн компьютерийн шинжлэх ухаан болон төрөлжсөн сургуулиудад мэргэжлийн хөтөлбөр бэлтгэхэд анхаардаггүй. OOP-ийн хэрэглээ нь онцгой сэдэв бөгөөд тэд ихэвчлэн өөрсдийн онцлог шинж чанаруудад хангалттай анхаарал хандуулдаггүй.

Зарим компьютерийн шинжлэх ухааны экспонентуудын байр суурийг бүрэн үгүйсгэхгүйгээр боловсролын програмчлалын салбарт, тэр дундаа сургуульд объектод чиглэсэн хандлагыг нэвтрүүлэх нь чухал бөгөөд программ гэх мэт үндсэн зарчмуудгүйгээр ORP-ийг ойлгох боломжгүй юм. , vikonavetsya, zminna, umova, мөчлөг гэх мэт. OOP-ийн үзэл баримтлалд мөн сонгодог процедурын програмчлал орно (бүлэг " Дэд хөтөлбөрүүд"), Эйнштейний механик - Ньютоны механик шиг: процедурын программыг нэг объект гэж тодорхойлох боломжтой бөгөөд үүнийг хялбарчлах үүднээс орхих болно. Тиймээс бид сургуулийн сургалтын хөтөлбөрийг эхлүүлэхийн өмнө үндсэн яриаг сурах хэрэгтэй. I орчин үеийн визуал програмчлалын хэрэгслүүдтэй ажиллах чадвар бага (Delphi, Visual Basic, Visual C++
гэх мэт) тайзны ард програмчлалд суралцах нэмэлт арга техникийг ашиглах замаар объект ба тэдгээрийн бүрэлдэхүүн хэсгүүдийн тухай ойлголттой танилцах.

Нууц мэдээлэл

OOP бол 20 зууны 80 жилийн хугацаатай програмчлалын хэв маяг юм. Өгөгдөл, зааврыг боловсруулдаг процедурынхаас гадна тэдгээрийг зэрэгцүүлэн боловсруулдаг бөгөөд объект хандалтат програмчлалд мэдээллийг нэгтгэн нэг нэгж болгон ашигладаг.

PLO-ийн гол отолтууд

тайвширч байна

ORP-ийн өөр нэг зарчим бол сулрах явдал юм. Нягтруулах нь гаралтын кодыг хэт их тоо болгох боломжийг олгодог.

Полиморфизм

ORP-ийн өөр нэг зарчим бол полиморфизм юм. Энэ үзэл баримтлал нь янз бүрийн түвшний нарийн төвөгтэй объектуудыг удирдахын тулд та янз бүрийн аргаар хариу үйлдэл үзүүлэх нэг интерфейсийг үүсгэж, даалгаврыг нэн даруй зөв хэрэгжүүлэх боломжтой гэсэн үг юм.

Movi OOP

OOP-ийн зарчмуудыг C++, Java зэрэг хамгийн алдартай програмчлалын хэлнүүдэд ашигладаг бөгөөд эдгээр хэл дээр программуудын ихэнх хэсэг нь хуваагддаг. Є болон хамгийн бага vikorystovuvanі movy OVP - tse Delphi, Object Pascal, Ruby гэх мэт.

OOP-ийн шүүмжлэл

Энэхүү аргачлалын ихэнх эерэг үр дүнг үл харгалзан ORP-ийн зарчмуудыг шүүмжлэгчид ихэвчлэн хүлээн зөвшөөрдөг. Яг л OOP нь дутагдалтай талуудтай.

Юуны өмнө шилжилт жигд байна. ORP-ийн зарчмуудыг ойлгохын тулд маш их цаг зарцуулах шаардлагатай, ялангуяа зөвхөн процедурын хэлний програмчлалаар ажилладаг хүмүүст зориулсан.

Үгүй бол объектын ангилал, хэрэгжилтийн тодорхой төрлийг тайлбарлах шаардлагатай тул иж бүрэн баримт бичиг байдаггүй.

Гуравдугаарт, аргуудын түгээмэл байдал нь задарсан гаралтын код, программуудыг энэ тохиолдолд шаардлагагүй функц, боломжоор дахин тоноглоход хүргэдэг. Нөгөөтэйгүүр, энэ нь санах ойн үүднээс авч үзвэл үр дүнгүй байдлыг илтгэнэ. Гэсэн хэдий ч, холдсон хүмүүсийн бодлоос үл хамааран OOP хөтөлбөрүүдийн тоо тогтмол нэмэгдэж, хөтөлбөрүүд нь өөрөө хурдацтай хөгжиж байна.

Галмує