Sunday, September 20, 2015

ОХП - 1

Объект хандалтат програмчлал, Объект хандалтат технологийн тухай

     Лекц 1

Объект хандлагат технологи нь бидний бодит амьдралд байх хамгийн чухал болоод энгийн ойлголтууд, өдөр тутмын сайн зарчим, дүрмүүдийг хэрэглэсэн байдаг. Хүний амьдралийн гол философи нь биеэ даах, бусдаас үл хамаарах гэхдээ харилцаа өндөр байх,удамшил гэхдээ давтагдашгүй чанар,эцсийн бүлэгт ЭРХ ЧӨЛӨӨ биш гэж үү. Энэ бол объект хандлагат програмчлалын үндсэн зарчим юм.

С С ++ технологийн дараа 1970-аад оны сүүлчээр гарч ирсэн технологи бол Объект хандлагат програмчлал юм. Бидний хүрээлэн байгаа орчин маань объектуудаас тогтдог. Тэгвэл объект бүхэн өөр өөрийн гэсэн шинж чанар (property), тэдгээрийг удирдах аргууд (method)-той байдаг. Эндээс үндэслэн програмд хэрэглэгдэх өгөгдөл бүрийг объект гэж үзээд тэдгээрийн шинжүүд болон тэдгээрийн үйл хөдлөлийг хамтад нь авч үзэн програмчладаг техник бол Объект хандлагат програмчлал юм. Ингэж програмыг биеэ даасан дэд хэсгүүд буюу объектэд хуваан авч үзэснээр өмнө бичсэн кодыг дахин ашиглах боломж олгодог. 1980 д оноос боловсруулж эхэлсэн C++ нь С хэлнээс ганц объектийн тухай ухагдахуун ч биш шинэ түлхүүр үг, оператор, дахин тодорхойлогдох функц, дахин тодорхойлогдох оператор, мөн санах ойг удирдах шинэ техник зэргээр өргөтгөсөн юмаа. Дээрээс нь өгөгдлийн нууцлалт буюу найдвартай байдлаар бүрэн хангагдсан байсанаараа ОХ зарчмууд ямар нэг зөрчилгүйгээр үр дүнтэй нэвтэрч чадсан байна.

OOP-г бүрэн дэмждэг програм бол visual studio бөгөөд энэ програм програмчлахад зориулсан нь тус тусдаа бие даасан MFC, windows form, windows api гэсэн хэсгүүдтэй. Энэ програм дээр ажиллахад маш хялбар бөгөөд цонхыхоо бүрдэл хэсгүүдийг зөөж байглуулаад шаардагдах кодуудыг бэлэн сангаас авч тавихад хангалттай. Энэ програм нь цонхны загварчлалтай холбоотой бүрэлдэхүүнүүдийг түүнд шаардагдах шинж үйлдлүүдийн хамт загварчиж бэлэн сан үүсгэсэн байдаг учираас ажилахад хялбар байдаг.


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

Агуулга

Ерөнхий ойлголтууд

Объект гэдэг нь тодорхой нөхцлөөр нэгдсэн шинж чанарууд, функцүүдийн хольц юм. Ө.х Бодит амьдрал дээрх объектуудыг гэж ойлгож болно. Жишээлбэл таны ширээн дээрх аяга, халаасанд байгаа түлхүүр, гадаа байгаа байшин зэрэг нь бүгд объект мөн бөгөөд програм зохиогч эдгээрийг тус бүрд нь компьютер болон өөр нэг програмист ойлгох хэлээр тэмдэглэх зорилгоор энэхүү ОХП гэх ойлголт бий болсон.

Класс

Класс гэдэг нь ОХП-ын үндсэн ойлголтуудын нэг бөгөөд обьектүүдийн загварыг хэлдэг. Жишээлбэл програм зохиогч хэрэглэх объектуудаа тодорхойлоод тэдгээрийг програм ажиллахдаа үүсгэж байхын тулд классыг объектынхоо загвар байдлаар бэлтгэдэг. Ө.х таны ширээн дээрх аяганы шинж чанар, аягатай холбоотой бүх үйлдлүүдийг класс дотор тодорхойлж өгөх бөгөөд програм ажиллаад эхлэхээрээ таны ширээн дээрхтэй яг ижил аягануудыг үүсгэн ашиглах олон янзын боломжтой болно гэсэн үг юм. Өөр хоорондоо холбоотой объектүүдийн уялдаа холбоог мөн класс дотор тодорхойлж өгдөг. Програмчлалын хэл бүр классыг тодорхойлдог түлхүүр үгүүдтэй бөгөөд компьютер тэдгээр тусгай түлхүүр үгүүдээр классыг таньж өөр хооронд нь ялгана.

Объект

Классаас объектийг үүсгэн ашигладаг. Ө.х ОХП-ын үндсэн ойлголт болох объект нь програм ажиллаж байх тухайн үеийн классын биелэл нь юм. Энэхүү биелэл гэх ойлголтыг instance гэх бөгөөд тодорхойлолт нь: -"Run time үед үүссэн жинхэнэ объектийг хэлнэ" гэсэн байдаг.

Метод (Method)

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

Мессеж дамжуулах

Өмнө өгүүлсэнчлэн Аяга гэх класс руу кофе гэх утгыг методоор нь дамжуулан дуудсанаар таны объектийн нэг шинж чанар болох кофе гэсэн утга ямар нэгэн эспрессо эсвэл каппучино гэх зэрэг кофетой болж байгаа үйлдлийг ерөнхийд нь мессеж дамжуулах гэж хэлдэг. Ихэнхдээ иймэрхүү байдлаар шинж чанарт мессеж, утга дамжуулах методууд set гэсэн угтвар үг бүхий нэртэй байдаг. Жишээлбэл: setCoffee(String coffeeName); гэх мэт.

Удамшил

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


No comments:

Post a Comment