Tuesday, May 25, 2010

Windows ба Обьект хандлагат програмчлал МТ 2-2 Ананда

Windows гэж юу вэ? Энэ бол та бидний өдөр тутмын хэрэглээнд ашиглагдаж буй Microsoft компаниас гаргасан үйлдлийн систем. Тэгвэл үйлдлийн систем гэж юу вэ? Энэ бол таныг компьютер дээр юм үзэх, бичих, сонсох гээд л бүхий үйлдлийг чинь хөнгөвчилж өгдөг програм болон төхөөрөмжүүдийн хоорондох систем юм. Windows үйлдлийн систем гарахаас өмнө DOS буюу Disc Operation System гэж байсан бөгөөд энэ нь хэрэглэхэд хүндрэлтэй, зөвхөн мэргэжлийн хүмүүс л мөр кодоор үйлдлээ хийдэг байсан юм. Тиймээс үүнийг хөнгөвчлөх үүднээс энэхүү үйлдлийн систем нь гарсан. Яг одоогоор зах зээл дээр хамгийн их эрэлттэй болон хамгийн их ашиглагдаж буй үйлдлийн системийн судалгаагаар Microsoft компаниас гаргасан Windows, түүний дараагаар Linux, Mac OS орж байна. Харин одоо Обьект хандлагат програмчлал гэж юу вэ? гэж та сонирхох байх. Энэ нь та програм зохиохдоо хийх үйлдэл, тэдгээрийн ашиглах өгөгдлүүдийг хэрхэн зөв оновчтой, мөн хурдан бөгөөд хамгаалалт сайтайгаар зохион байгуулахыг хэлж байгаа юм. Обьект хандлагат технологи гарахаас өмнө бид Процедур хандлагат буюу өөрөөр модулан програмчлалын аргаар програмаа бичдэг байсан. Энэ нь програмын ажиллагаа нь код бичигдсэн дарааллаар буюу дээрээсээ доош ажиллаад дуусдаг арга юм. Цаг хугацааны эрхээр энэхүү арга нь хуучирч дараагийн шинэ үе болох обьект хандлагат технологи гарч ирлээ. Обьект хандлагат технологи нь хэд хэдэн онцлог давуу шинжүүдтэй бөгөөд үүнийгээ бидний өргөн хэрэглэдэг C програмчлалын хэлэнд нэмж боловсруулан 1980 оны үеээс C++ хэмээн шинэ хэлийг гаргасан юм. Харин одоо тэр нэмэгдсэн 3н чухал ойлголтыг үзье. Эхнийх нь Encapsulation (өгөгдлийн багцлалт). Энэ нь та өөрийн өгөгдлүүдээ багцлан, үүнийгээ дараа нь ашиглаж хэрэглэхэд хялбар болгож өгч байгаа юм. Мөн хамгийн чухал нь та өгөгдлүүдээ багцалснаар эдгээр өгөгдөлдөө хандах эрхийг зааж өгөх боломжтой болно. Үүнд Public, Private, Protected гэж байдаг. Public горим нь та өгөгдлөө нууцлаагүй бөгөөд хэн дуртай нь хандах боломжийг олгодог бол харин Private, Protected горим нь зөвхөн тухайн обьектын функцууд л хандах боломжтой болгох горим. Private, Protected хоёр маань ерөнхийдөө адилхан боловч энэ хоёрын гол ялгаа нь тухайн классаас удамших үед гарч ирнэ. Private өгөгдлүүд нь удамшдаггүй бол харин Protected нь удамшдаг. Хэрвээ та удамших талаар ойлгохгүй бол одоо тайлбарлаж өгье. Обьект хандлагат технологын хоёр дахь чухал ойлголт буюу удамшил нь та нэгэнт тодорхойлсон классаа шинэчлэн, өргөжүүлэн дахин ашиглах боломжийг олгож байгаа юм. Энэ нь хоорондоо уялдаа, холбоо бүхий обьектуудыг програмдаа ашиглаж байгаа тохиолдолд тэдгээрийн аль алинд байх хэсгүүдийг дахин бичилгүй ашиглах явдал юм. Хялбараар тайлбарлавал та багш, оюутан гэсэн 2 обьектын тухай програм бичиж байвал дунд нь нэг Хүн гэдэг класс тодорхойлон түүнээсээ удамшуулан хэрэглэх явдал юм. Учир нь багш ч бай, оюутан ч бай хоёулаа ялгаагүй овог, нэр, настай байдаг. Удамшлыг удамших байдлаас нь хамаарч энгийн ба нийлмэл удамшил гэж ангилдаг. За одоо харин обьект хандлагат технологын 3 дахь гол ойлголт болох дахин тодорхойлолтын тухай авч үзье. Энэ нь дотроо 2 төрөл байдаг бөгөөд эхнийх нь буюу функцын дахин тодорхойлолт нь танд нэг нэрийн доор хэд хэдэн ялгаатай үйлдэл хийдэг олон функц байлгах боломжийг олгоно. Гагцхүү тэдгээрийн гол ялгаа нь фунцкцуудын параметрын тоо эсвэл тэдгээрийн өгөгдлийн төрөл өөр байх ёстой. Харин нөгөө дахин тодорхойлолт нь операндыг дахин тодорхойлдог бөгөөд ингэснээр обьект хооронд үйлдэл хийхэд хялбар болж өгөх юм. Жишээ нь та + ( нэмэх ) үйлдлийг дахин тодорхойлж 2 болон түүнээс дээш обьектыг нэмж болох фунцкыг өөрөө бичин дараа нь ашиглахдаа шууд нэмэх тэмдгээ тавин хэрэглэх боломжтой болох юм. Та Windows болон Обьект хандлагат програмчлалын тухай жоохон ч болов ойлголт авсан бол одоо энэ 2-ийн хоорондоо ямар хамаатай болох талаар тайлбарлъя. Windows үйлдлийн систем нь өөрөө 70 орчим хувь нь С хэл дээр, үлдсэн 30 гаруй хувь нь ассемблер дээр бичигдсэн байдаг бөгөөд мөн обьект хандлагат технологийг маш сайн ашигласан юм. Ерөнхийдөө үйлдлийн систем хэд хэдэн цонхуудаар загварчилж тэдгээрийн уялдаа холбоон дээр үйлдэл хийгддэг болохоор нь энэхүү системээ Windows буюу орчуулвал Цонхнууд нэг нэрлэсэн юм. Хэрэв та Windows үйлдлийн системд зориулан програм бичиж байгаа бол дараах 3-н төрлийн аргаар бичиж болох юм. Үүнд Win32 API ( Application Programming Interface ), MFC ( Microsoft Foundation Classes ) болон Windows Forms багтана. Эхнийх нь болох Win32 API нь C++ хэл үүсэхээс өмнө бий болсон болохоор обьект хандлагатаар загварчлагдаагүй бөгөөд нилээд доод түвшний хэл юм. Энэ нь Windows –ийн өөрийн API сангийн зуу зуун функцуудээс тогтох бөгөөд эдгээр нь хоорондоо өгөгдөл дамжуулахдаа class бус бүтцийг ашигладаг. Хэдийгээр та Win32 API дээр програм бичвэл програм тань нилээд хурдтайгаар ажиллах боломж олгох ч нилээд доод түвшнийх болохоор маш их код бичих шаардлагатай болно. Харин MFC –ийн хувьд бол энэ нь классаар загварчлагдсан, кодын хэмжээ бага бөгөөд бас controls буюу товчнуудыг шууд оруулах ашиглах бэлэн графиктай юм. MFC ашиглан програм бичихэд маш хялбар бөгөөд та харагдах цонхон дээр хэдэн товч, үг бичих талбар гэх мэт controls –ууд зөөн тавиад тэдгээрийн үзэгдэл дээр ямар үйлдэл хийх вэ гэдэг функцуудыг бичиж өгөхөд л хангалттай. Жишээ нь үг бичих талбар дээрх утга солигдоход энэ функц дуудагдаж ийм үйлдэл хийгдэнэ, харин энэ товч дарагдахад ийм үйлдэл хийнэ гэсэн функцууд л бичих юм. Тухайн функцын уялдаа холбоо болон энэ нь хэрхэн яаж үзэгдэлтэй холбогдох талаар MFC –ийн сангууд нь өөрсдөө зохицуулдаг бөгөөд ингэснээр програмчилж буй хүний цаг хугацааг ихээхэн хэмнэж өгдөг. Тэгвэл одоо Windows Forms –ийн тухай. Энэ нь өмнөх 2 аргаасаа хамаагүй хялбар бөгөөд өгөгдлийн багцлалт буюу encapsulation, өгөгдлийн нууцлал тал дээр маш сайн анхаарсан. MFC-тэй адил та харагдах цонхон дээрээ хэрэгтэй controls –уудаа байршуулан тэдгээрээ зөв удирдан зохион байгуулж функцуудээ бичих шаардлагатай. Win32 API болон MFC дээр та C++ ашиглан програмаа бичдэг бол харин энэ удаад Windows Forms дээр програм бичих бол C# хэлийг ашиглан бичих шаардлагатай юм. С# хэл нь өмнөх C++ -ийн ойлголтууд дээр шинээр delegate, interface гэх мэт хэд хэдэн ойлголтууд нэмэгддэг. Энэхүү ойлголтууд нь Java хэлний обьект хандлагат технологид хэрэглэдэг аргуудаас санаа авсан ерөнхийдөө гарсан юм. Та Win32 API, MFC эсвэл Windows Forms алин дээрч бай хамаагүй програм бичих гэж байгаа бол Microsoft Visual Studio програмыг ашиглана. Одоогоор энэхүү програмын 2008 хувилбар нь зах зээл дээр ашиглагдаж байгаа. Хэрэв хүсвэл бүрэн гүйцэд дуусаагүй, туршилтын шатандаа явж байгаа 2010 хувилбарыг нь үнэгүй татан авч хэрэглэх боломжтой юм. Ингээд энэхүү нийтлэлээр таны мэдлэгт жоохон ч гэсэн дусал нэмсэн бол миний туйлын зорилго биелсэн болой. Анхаарлаар шагнасанд тань баярлалаа.

No comments:

Post a Comment