Объект хандлагат програмчлалын хэл  Java Хичээл :  C S203 Багш :   Д.Энхжаргал Mongolia University of Science & Technology Лекц № 4. Класс объектын тухай
Encapsulation En capsul ation :   Тухайн объектод шаардлагатай өгөгдлүүд болон үйлдлүүдийг нэгтгэн далдлах үйл явц юм. Нэгтгэх: Тухайн объектын өгөгдлүүд болон функцуудыг нэг капсулд хийх. Далдлах: Объектын дотоод бүтцийг далдлах Тухайн объектод шаардлагатай өгөгдлүүд Тухайн объект дээр хийгдэх үйлдлүүд Computer Processor speed RAM Use(); Buy();
ОХ Технологиийн үндсэн ойлголтууд:   Объект Объект:  Бодит амьдралын биет юм буюу түүний хийсвэрлэл юм. Объект  Бодит зүйлс. Жишээ нь: машин, камер, үүл Хийсвэр зүйлс. Жишээ нь: хичээл, шүлэг... Бодит ертөнц объектуудаас бүрддэг
Хүн төрөлхтөн өөртөө хүндрэлтэй асуудлаа хийсвэрлэн дүрсэлж ирсэн бөгөөд бодит амьдралын биет юмсыг тэр чигээр нь компьютерт буулгах боломжгүй учраас програм зохиогч нь үйл ажиллагаандаа хийсвэрлэлийг өргөнөөр ашигладаг.   Өгөгдлийн хийсвэрлэл  (Data abstraction)
Ялангуяа Объект Хандлагат Технологи нь хийсвэрлэлтийг илүү сонгодог утгаар нь хэрэгжүүлдэг учраас хүчирхэг технологи болж чадсан гэхэд хилсдэхгүй. Учир нь Уламжлалт буюу бүтэцлэгдсэн аргаар систем хөгжүүлэхэд програмын код нь өгөгдлөө удирддаг учраас програмын гол цөм гэж үзэн програмын функцэд илүү ач холбогдол үзүүлж ирсэн.  Объект Хандлагат аргаар систем хөгжүүлэхэд эсрэгээр өгөгдөл нь функцээ удирддаг гэж үздэг бөгөөд тухайн объекттой холбоотой өгөгдөл болон функцуудыг нэгтгэх замаах ӨХТ-ийг тодорхойлдог.  Жич: ОХПрограмчлалын хэлнүүд нь илүү хүчирхэг өгөгдлийн хийсвэр төрлийг  ашигладаг.  Тодорхойлолт:  Хийсвэрлэл нь  “ ямар нэгэн зүйл ” -ийг тодорхой шинж чанараар нь бүлэглэн, хэрэггүй хэсгээс нь тусгаарлах үйл явц юм.  Өгөгдлийн хийсвэрлэл  (Data abstraction)
Програмчлалын хэл бүр өөрийн гэсэн Өгөгдлийн Хийсвэр Төрөл  ( ӨХТ ) -тэй. Тухайлбал: Паскаль хэлний ӨХТ нь Бичлэг  (record) С хэлний ӨХТ нь Бүтэц  ( struct ) Java  болон бусад ОХПрограмчлалын хэлний хувьд ӨХТ нь класс  ( class)  юм.   Тэгэхлээр ОХП-д хийсвэрлэлийг хэрэгжүүлнэ гэдэг нь ӨХТ болох класс тодорхойлж ашиглахыг хэлж байна. ӨХТ-ийг заримдаа хэрэглэгчийн тодорхойлсон төрөл  ( ХТТ )  гэдэг. Учир нь хийсвэр төрлийг хэрэглэгч  (  програм зохиогч )  өөрөө тодорхойлж өгдөг.Харин ӨҮТ-ийг тухайн програмчлалын хэлэнд урьдчилан тодорхойлж өгсөн байдаг. Тухайлбал,  int   төрөл нь бүхэл тоог илэрхийлэх дан төрөл. Өгөгдлийн хийсвэрлэл  (Data abstraction)
Хийсвэрлэл: Аливаа зүйлийг тодорхой шинж чанараар нь бүлэглэн ерөнхийлж буй хэрэг юм. ОХП-д хийсвэрлэлийг хэрэгжүүлэхээс гадна, тэрхүү хийсвэрлэсэн төрөлөө өргөтгөн удамшуулах боломжтой, мөн шаардлагатай кодын өөрчлөлтийг хялбархан оруулах боломжтой байдаг.  Generalization  – ижил төстэй шинж чанраар нь бүлэглэн ерөнхийлөх Extensibility  -Өргөтгөх буюу удамшуулах Flexibility – кодын өөрчлөлт болон шинэ онцлогийг хялбархан оруулах боломж Харин объект хандлагат бус програмчлалын хэлнүүдэд хийсвэрлэсэн төрлөө өргөтгөн удамшуулах боломжгүй бөгөөд хийсвэрлэсэн төрөлдөө шаардлагатай нэмэлт өөрчлөлтийг оруулахад төвөгтэй байдаг. Иймд дараах дүгнэлтийг хийж болно. ОХТ-ийн өгөгдлийн хүчирхэг хийсвэр төрөл нь түүнийг програмчлалын хүчирхэг технологи болгож чадсан.    Класс
Өгөгдлийн хийсвэрлэл  (Data abstraction) Generalization – ижил төстэй шинж чанараар нь бүлэглэн ерөнхийлөх Extensibility – Өргөтгөх буюу удамшуулах 3.  Flexibility –  кодын өөрчлөлт болон шинэ онцлогийг хялбархан оруулах боломж Гишүүн өгөгдлийг шинээр тодорхойлох
ОХ Технологиийн үндсэн ойлголтууд:   Объект Объект хандлагат програмчлалд  Объект нь шинж чанар  ( өгөгдөл ) үйлдэл  ( функцууд ) -ээс тогтоно. ЖИШЭЭ:  Ñèñòåì íü îáúåêòóóäààñ á¿ðäýíý - Îáúåêò á¿ð ºãºãäºë áà ôóíêöóóäýýñ á¿ðäýíý - Òóõàéí îáúåêò äàõü ºãºãäºë áîëîí ôóíêöóóä íü õîîðîíäîî ñàëøã¿é õîëáîîòîé Ãàð óòàñ Íýð ¯íý Õýðýãëýõ Õóäàëäàæ-àâàõ Çàñàõ Îáúåêòûí íýð ªãºãäºë   Ôóíêö
Класс  Объект хэмээх ойлголттой салшгүй холбоотой.   Ижил шинж чанар, үйлдлүүдтэй бүлэг объектуудын нэгдэл юм. Объект Бид өдөр тутмынхаа амьдралд янз бүрийн объектуудтай харьцаж байдаг. Бодит амьдралын биет юмс буюу түүний хийсвэрлэл юм. Жишээ нь: Бодит объект: Ном, Үзэг, Компьютер... Хийсвэр объект: Хичээл, Шүлэг Аливаа систем нь объектуудаас бүрддэг.  ОХПрограмчлалд Объект нь Шинж чанар  ( өгөгдөл ) Үйлдэл  ( функцууд ) -ийн нэгдэл юм. Жишээ нь:  Машин   Класс, объект Машин Íýð ¯íý Өнгө Давхих Õóäàëäàæ-àâàõ Çàñâàðëàõ
Класс  Ижилхэн шинж чанар болон үйлдлүүдтэй бүлэг объектуудын нэгдэл юм. ӨХ: Класс бол өгөгдлийн хийсвэр төрөл, объект нь түүний хувьсагч юм. Жишээ нь. Дараах объектууд нь ижил шинж чанар болон   ижил үйлдлүүдтэй тул тэдгээрийг бүлэглэн “Машин” классыг үүсгэж болно. Өөрөөр хэлбэл: ОХП-д Класс нь Өгөгдөл Үйлдлүүдээс бүрдэнэ.   Класс, объект Katsra's car HONDA Ryo's car EUNOS Shuji's car SUBARU Keisuke's car DAIHATSU
ОХ Технологиийн үндсэн ойлголтууд:  Instantiation Katsra's car HONDA Ryo's car EUNOS Shuji's car SUBARU Keisuke's car DAIHATSU Объект 1   Баяраа HONDA Улаан Kastra Объект 2 Өлзий EUNOS Хар Ryo Объект 3 Сувдаа SUBARU Цэнхэр Shuji Объект 4 Амар DAIHATSU Саарал Keisuke Классын нэр Шинж чанар ( өгөгдөл ) Үйлдэл ( функц ) Машин Эзэмшигч Төрөл  Өнгө Үйлдвэрлэгч Авах Хурдлах Instantiation  :   классын нэг тохиолдол буюу объект
Объектын танигдах шинж Объект бүр дахин давтагдашгүй шинж чанартай Энэ тохиолдолд ялгагдах шинж чанрыг нэмж тодорхойлох шаардлагатай. Жишээ нь Ïðîôåññîð  “ Íÿìñ¿ðýí ” Ìàòåìàòèê çààäàã Ïðîôåññîð  “ Íÿìñ¿ðýí ” Ìàòåìàòèê çààäàã Ïðîôåññîð  “ Íÿìñ¿ðýí ” Ìàòåìàòèê çààäàã
Програмын бичлэг дэх класс Классын бичиглэлийн ерөнхий хэлбэр: class ClassName {    //  Гишүүн өгөгдлүүд   //  Гишүүн функцууд }  Классын Си хэлний бүтэцээс ялгарах онцлог Гишүүн функцээр хангагдсан. Классын гишүүн функц нь классын гишүүн өгөгдлөө боловсруулах үүрэгтэй. Өгөгдлийн далдлалтыг хэрэгжүүлдэг.  ӨХ: Дараах хандалтыг тодорхойлогч түлхүүр үгнүүдийг ашигладаг. public private protected Java  хэлэнд багцын хандалтыг ашигладаг бөгөөд хандалтыг тодорхойлогч ямар нэг түлхүүр бичилгүй орхисон байвал түүнийг багцын хандалттай гэж ойлго Классын гишүүн өгөгдлөөс гадна гишүүн функцыг ч бас далдлах боломжтой.  Бид дараагийн лекцээр энэ тухай авч үзнэ. Цаашид бид гишүүн функцыг арга гэж нэрлэх болно.
Програмын бичлэг дэх класс Жишээ :  Хичээл  (Course)  классыг хийсвэрлье. class course  {  public String name; private int credit; public void display() { System.out.println(“Credit of the Course is:”+credit); }   } course  класс 2 гишүүн өгөгдөл, 1 аргаар хангагдсан. Анхаар !  Далдлагдсан гишүүдэд  main()  арга болон програмын бусад хэсгээс хандах боломжгүй, зөвхөн түүний  public( нийтийн ) хандалттай аргаар дамжуулан хандана. Далдлагдсан өгөгдөл.  Өх:Өгөгдлийн далдлалтыг  private  хандалтаар хэрэгжүүлдэг. +  операторыг тэмдэгт мөрүүдийг залгахад хэрэглэдэг. Энд “ Credit of the Course is: ”   гэсэн  тэмдэгт мөрийн араас  credit  хувьсагчийн утгыг залгаж байна.
Êëàññын îáúåêòûã ¿¿ñãýæ àøèãëàõ Классын хувьсагч болох объектын гишүүн өгөгдөл ба аргуудад хандах бичиглэлийн ерөнхий хэлбэрийг авч үзье.   Гишүүн өгөгдөлд хандахдаа объектын нэрийн ард цэг тавиад араас нь хандах гишүүн өгөгдлийнхөө нэрийг бичнэ. Тухайлбал, [Object name]. [variable name] Харин гишүүн функц буюу аргад хандахдаа (аргыг дуудахдаа) объектын нэрийн ард цэг тавиад араас нь хандах аргынхаа нэрийг бичээд хойно нь () буюу дугуй хаалтанд тухайн аргын параметрийн жагсаалтыг бичнэ. Тухайлбал, [Object name]. [method name] ([parameters])
Хялбар жишээ: Класс тодорхойлох Эхлээд гишүүн өгөгдөлгүй зөвхөн 1 гишүүн функцтэй класс тодорхойлъё. class HelloObject {  void speak(){    System.out.println("Hello from an object!");  } } class HelloTester {  public static void main ( String[] args )  { HelloObject anObject = new HelloObject(); anObject.speak(); } } Аргын бичиглэлийн ерөнхий хэлбэр: returnType methodName( parameterList ) {   //   энд аргын их бие байна  return returnValue; }  Энд анхдагч байгуулагч аргыг дуудна.  Анхдагч байгуулагч нь тухайн объектод зориулан санах ойд зай нөөцлөнө. anObject   объектын  speak  аргыг дуудах
Байгуулагч арга  (Constructor method) Байгуулагч арга нь классын гишүүдэд анхны утга олгох үүрэгтэй гишүүн функц юм. Байгуулагч аргын онцлог Классын гишүүдэд зай нөөцлөөд анхны утга олгох үүрэгтэй Байгуулагч аргын нэр классынхаа нэртэй адилхан байна Байгуулагч арга нь  new  операторын тусламжтай дуудагдана. Байгуулагч аргыг тодорхойлохдоо буцаах утгын төрлийг бичдэггүй. Үнэндээ тухайн байгуулагч аргаар үүсгэгдсэн объектыг заах заалтыг буцаадаг. Жич: Заалт нь тухайн объектын санах ойд байрлах байршлыг заана. Байгуулагч аргын бичиглэлийн ерөнхий хэлбэр: className( parameterList ) {  //   энд байгуулагч аргын их бие байна }
Гишүүн өгөгдөл ба байгуулагч арга тодорхойлж ашиглах class HelloObject {   String greeting;  HelloObject( String st )  { greeting = st; }  void speak() { System.out.println( greeting ); }  } class HelloTester  {  public static void main ( String[] args )  {  HelloObject anObject = new  HelloObject("A Greeting!"); anObject.speak();  } }  Нэг аргумент бүхий байгуулагч арга String  төрлийн гишүүн өгөгдөл Байгуулагч аргыг дуудахдаа аргументаар хангах
Классын хэд хэдэн объект үүсгэж ашиглах class HelloObject  { String greeting;    HelloObject( String st ) { greeting = st; }    void speak() { System.out.println( greeting ); }  }  class HelloTester  {   public static void main ( String[] args )  { HelloObject object1 = new HelloObject("Mercury"); HelloObject object2 = new HelloObject("Venus"); HelloObject object3 = new HelloObject("Earth"); HelloObject object4 = new HelloObject("Mars");  object1.speak();  object2.speak();  object3.speak();  object4.speak(); }  }  Энэ програмд  HelloObject  классын 4 үүсгэж ашиглаж байна.
this  заалт Аливаа объект од  this заалт бай на.   Объектыг  new  оперторын тусламжтай үүсгэх үед   байгуулагч арга нь түүний  this  заалтад тухайн объектын байрлах санах ойн хаягийг олгодог. this заалтын тусламжтай тухайн объект руу хандах боломжтой байдаг.  Өх:  объектын статик биш аргыг дуудах үед далдуур this заалтаар дамжуулан уг объектын байрлах санах ойн мужтай холбогдож байдаг. Иймд арга дотор this заалтыг ашиглан объектод хандаж болно.
this  заалт ашигласан бичиглэл class HelloObject {   String greeting;  HelloObject( String st )  {  greeting = st;  }  void speak() { System.out.println( greeting ); }  } class HelloTester  {  public static void main ( String[] args )  {  HelloObject anObject = new  HelloObject("A Greeting!"); anObject.speak();  } }   this.greeting = st;

Sw203 Lecture4 Class Object

  • 1.
    Объект хандлагат програмчлалынхэл Java Хичээл : C S203 Багш : Д.Энхжаргал Mongolia University of Science & Technology Лекц № 4. Класс объектын тухай
  • 2.
    Encapsulation En capsulation : Тухайн объектод шаардлагатай өгөгдлүүд болон үйлдлүүдийг нэгтгэн далдлах үйл явц юм. Нэгтгэх: Тухайн объектын өгөгдлүүд болон функцуудыг нэг капсулд хийх. Далдлах: Объектын дотоод бүтцийг далдлах Тухайн объектод шаардлагатай өгөгдлүүд Тухайн объект дээр хийгдэх үйлдлүүд Computer Processor speed RAM Use(); Buy();
  • 3.
    ОХ Технологиийн үндсэнойлголтууд: Объект Объект: Бодит амьдралын биет юм буюу түүний хийсвэрлэл юм. Объект Бодит зүйлс. Жишээ нь: машин, камер, үүл Хийсвэр зүйлс. Жишээ нь: хичээл, шүлэг... Бодит ертөнц объектуудаас бүрддэг
  • 4.
    Хүн төрөлхтөн өөртөөхүндрэлтэй асуудлаа хийсвэрлэн дүрсэлж ирсэн бөгөөд бодит амьдралын биет юмсыг тэр чигээр нь компьютерт буулгах боломжгүй учраас програм зохиогч нь үйл ажиллагаандаа хийсвэрлэлийг өргөнөөр ашигладаг. Өгөгдлийн хийсвэрлэл (Data abstraction)
  • 5.
    Ялангуяа Объект ХандлагатТехнологи нь хийсвэрлэлтийг илүү сонгодог утгаар нь хэрэгжүүлдэг учраас хүчирхэг технологи болж чадсан гэхэд хилсдэхгүй. Учир нь Уламжлалт буюу бүтэцлэгдсэн аргаар систем хөгжүүлэхэд програмын код нь өгөгдлөө удирддаг учраас програмын гол цөм гэж үзэн програмын функцэд илүү ач холбогдол үзүүлж ирсэн. Объект Хандлагат аргаар систем хөгжүүлэхэд эсрэгээр өгөгдөл нь функцээ удирддаг гэж үздэг бөгөөд тухайн объекттой холбоотой өгөгдөл болон функцуудыг нэгтгэх замаах ӨХТ-ийг тодорхойлдог. Жич: ОХПрограмчлалын хэлнүүд нь илүү хүчирхэг өгөгдлийн хийсвэр төрлийг ашигладаг. Тодорхойлолт: Хийсвэрлэл нь “ ямар нэгэн зүйл ” -ийг тодорхой шинж чанараар нь бүлэглэн, хэрэггүй хэсгээс нь тусгаарлах үйл явц юм. Өгөгдлийн хийсвэрлэл (Data abstraction)
  • 6.
    Програмчлалын хэл бүрөөрийн гэсэн Өгөгдлийн Хийсвэр Төрөл ( ӨХТ ) -тэй. Тухайлбал: Паскаль хэлний ӨХТ нь Бичлэг (record) С хэлний ӨХТ нь Бүтэц ( struct ) Java болон бусад ОХПрограмчлалын хэлний хувьд ӨХТ нь класс ( class) юм. Тэгэхлээр ОХП-д хийсвэрлэлийг хэрэгжүүлнэ гэдэг нь ӨХТ болох класс тодорхойлж ашиглахыг хэлж байна. ӨХТ-ийг заримдаа хэрэглэгчийн тодорхойлсон төрөл ( ХТТ ) гэдэг. Учир нь хийсвэр төрлийг хэрэглэгч ( програм зохиогч ) өөрөө тодорхойлж өгдөг.Харин ӨҮТ-ийг тухайн програмчлалын хэлэнд урьдчилан тодорхойлж өгсөн байдаг. Тухайлбал, int төрөл нь бүхэл тоог илэрхийлэх дан төрөл. Өгөгдлийн хийсвэрлэл (Data abstraction)
  • 7.
    Хийсвэрлэл: Аливаа зүйлийгтодорхой шинж чанараар нь бүлэглэн ерөнхийлж буй хэрэг юм. ОХП-д хийсвэрлэлийг хэрэгжүүлэхээс гадна, тэрхүү хийсвэрлэсэн төрөлөө өргөтгөн удамшуулах боломжтой, мөн шаардлагатай кодын өөрчлөлтийг хялбархан оруулах боломжтой байдаг. Generalization – ижил төстэй шинж чанраар нь бүлэглэн ерөнхийлөх Extensibility -Өргөтгөх буюу удамшуулах Flexibility – кодын өөрчлөлт болон шинэ онцлогийг хялбархан оруулах боломж Харин объект хандлагат бус програмчлалын хэлнүүдэд хийсвэрлэсэн төрлөө өргөтгөн удамшуулах боломжгүй бөгөөд хийсвэрлэсэн төрөлдөө шаардлагатай нэмэлт өөрчлөлтийг оруулахад төвөгтэй байдаг. Иймд дараах дүгнэлтийг хийж болно. ОХТ-ийн өгөгдлийн хүчирхэг хийсвэр төрөл нь түүнийг програмчлалын хүчирхэг технологи болгож чадсан. Класс
  • 8.
    Өгөгдлийн хийсвэрлэл (Data abstraction) Generalization – ижил төстэй шинж чанараар нь бүлэглэн ерөнхийлөх Extensibility – Өргөтгөх буюу удамшуулах 3. Flexibility – кодын өөрчлөлт болон шинэ онцлогийг хялбархан оруулах боломж Гишүүн өгөгдлийг шинээр тодорхойлох
  • 9.
    ОХ Технологиийн үндсэнойлголтууд: Объект Объект хандлагат програмчлалд Объект нь шинж чанар ( өгөгдөл ) үйлдэл ( функцууд ) -ээс тогтоно. ЖИШЭЭ: Ñèñòåì íü îáúåêòóóäààñ á¿ðäýíý - Îáúåêò á¿ð ºãºãäºë áà ôóíêöóóäýýñ á¿ðäýíý - Òóõàéí îáúåêò äàõü ºãºãäºë áîëîí ôóíêöóóä íü õîîðîíäîî ñàëøã¿é õîëáîîòîé Ãàð óòàñ Íýð ¯íý Õýðýãëýõ Õóäàëäàæ-àâàõ Çàñàõ Îáúåêòûí íýð ªãºãäºë Ôóíêö
  • 10.
    Класс Объектхэмээх ойлголттой салшгүй холбоотой. Ижил шинж чанар, үйлдлүүдтэй бүлэг объектуудын нэгдэл юм. Объект Бид өдөр тутмынхаа амьдралд янз бүрийн объектуудтай харьцаж байдаг. Бодит амьдралын биет юмс буюу түүний хийсвэрлэл юм. Жишээ нь: Бодит объект: Ном, Үзэг, Компьютер... Хийсвэр объект: Хичээл, Шүлэг Аливаа систем нь объектуудаас бүрддэг. ОХПрограмчлалд Объект нь Шинж чанар ( өгөгдөл ) Үйлдэл ( функцууд ) -ийн нэгдэл юм. Жишээ нь: Машин Класс, объект Машин Íýð ¯íý Өнгө Давхих Õóäàëäàæ-àâàõ Çàñâàðëàõ
  • 11.
    Класс Ижилхэншинж чанар болон үйлдлүүдтэй бүлэг объектуудын нэгдэл юм. ӨХ: Класс бол өгөгдлийн хийсвэр төрөл, объект нь түүний хувьсагч юм. Жишээ нь. Дараах объектууд нь ижил шинж чанар болон ижил үйлдлүүдтэй тул тэдгээрийг бүлэглэн “Машин” классыг үүсгэж болно. Өөрөөр хэлбэл: ОХП-д Класс нь Өгөгдөл Үйлдлүүдээс бүрдэнэ. Класс, объект Katsra's car HONDA Ryo's car EUNOS Shuji's car SUBARU Keisuke's car DAIHATSU
  • 12.
    ОХ Технологиийн үндсэнойлголтууд: Instantiation Katsra's car HONDA Ryo's car EUNOS Shuji's car SUBARU Keisuke's car DAIHATSU Объект 1 Баяраа HONDA Улаан Kastra Объект 2 Өлзий EUNOS Хар Ryo Объект 3 Сувдаа SUBARU Цэнхэр Shuji Объект 4 Амар DAIHATSU Саарал Keisuke Классын нэр Шинж чанар ( өгөгдөл ) Үйлдэл ( функц ) Машин Эзэмшигч Төрөл Өнгө Үйлдвэрлэгч Авах Хурдлах Instantiation : классын нэг тохиолдол буюу объект
  • 13.
    Объектын танигдах шинжОбъект бүр дахин давтагдашгүй шинж чанартай Энэ тохиолдолд ялгагдах шинж чанрыг нэмж тодорхойлох шаардлагатай. Жишээ нь Ïðîôåññîð “ Íÿìñ¿ðýí ” Ìàòåìàòèê çààäàã Ïðîôåññîð “ Íÿìñ¿ðýí ” Ìàòåìàòèê çààäàã Ïðîôåññîð “ Íÿìñ¿ðýí ” Ìàòåìàòèê çààäàã
  • 14.
    Програмын бичлэг дэхкласс Классын бичиглэлийн ерөнхий хэлбэр: class ClassName { // Гишүүн өгөгдлүүд // Гишүүн функцууд } Классын Си хэлний бүтэцээс ялгарах онцлог Гишүүн функцээр хангагдсан. Классын гишүүн функц нь классын гишүүн өгөгдлөө боловсруулах үүрэгтэй. Өгөгдлийн далдлалтыг хэрэгжүүлдэг. ӨХ: Дараах хандалтыг тодорхойлогч түлхүүр үгнүүдийг ашигладаг. public private protected Java хэлэнд багцын хандалтыг ашигладаг бөгөөд хандалтыг тодорхойлогч ямар нэг түлхүүр бичилгүй орхисон байвал түүнийг багцын хандалттай гэж ойлго Классын гишүүн өгөгдлөөс гадна гишүүн функцыг ч бас далдлах боломжтой. Бид дараагийн лекцээр энэ тухай авч үзнэ. Цаашид бид гишүүн функцыг арга гэж нэрлэх болно.
  • 15.
    Програмын бичлэг дэхкласс Жишээ : Хичээл (Course) классыг хийсвэрлье. class course { public String name; private int credit; public void display() { System.out.println(“Credit of the Course is:”+credit); } } course класс 2 гишүүн өгөгдөл, 1 аргаар хангагдсан. Анхаар ! Далдлагдсан гишүүдэд main() арга болон програмын бусад хэсгээс хандах боломжгүй, зөвхөн түүний public( нийтийн ) хандалттай аргаар дамжуулан хандана. Далдлагдсан өгөгдөл. Өх:Өгөгдлийн далдлалтыг private хандалтаар хэрэгжүүлдэг. + операторыг тэмдэгт мөрүүдийг залгахад хэрэглэдэг. Энд “ Credit of the Course is: ” гэсэн тэмдэгт мөрийн араас credit хувьсагчийн утгыг залгаж байна.
  • 16.
    Êëàññын îáúåêòûã ¿¿ñãýæàøèãëàõ Классын хувьсагч болох объектын гишүүн өгөгдөл ба аргуудад хандах бичиглэлийн ерөнхий хэлбэрийг авч үзье. Гишүүн өгөгдөлд хандахдаа объектын нэрийн ард цэг тавиад араас нь хандах гишүүн өгөгдлийнхөө нэрийг бичнэ. Тухайлбал, [Object name]. [variable name] Харин гишүүн функц буюу аргад хандахдаа (аргыг дуудахдаа) объектын нэрийн ард цэг тавиад араас нь хандах аргынхаа нэрийг бичээд хойно нь () буюу дугуй хаалтанд тухайн аргын параметрийн жагсаалтыг бичнэ. Тухайлбал, [Object name]. [method name] ([parameters])
  • 17.
    Хялбар жишээ: Класстодорхойлох Эхлээд гишүүн өгөгдөлгүй зөвхөн 1 гишүүн функцтэй класс тодорхойлъё. class HelloObject { void speak(){ System.out.println("Hello from an object!"); } } class HelloTester { public static void main ( String[] args ) { HelloObject anObject = new HelloObject(); anObject.speak(); } } Аргын бичиглэлийн ерөнхий хэлбэр: returnType methodName( parameterList ) { // энд аргын их бие байна return returnValue; } Энд анхдагч байгуулагч аргыг дуудна. Анхдагч байгуулагч нь тухайн объектод зориулан санах ойд зай нөөцлөнө. anObject объектын speak аргыг дуудах
  • 18.
    Байгуулагч арга (Constructor method) Байгуулагч арга нь классын гишүүдэд анхны утга олгох үүрэгтэй гишүүн функц юм. Байгуулагч аргын онцлог Классын гишүүдэд зай нөөцлөөд анхны утга олгох үүрэгтэй Байгуулагч аргын нэр классынхаа нэртэй адилхан байна Байгуулагч арга нь new операторын тусламжтай дуудагдана. Байгуулагч аргыг тодорхойлохдоо буцаах утгын төрлийг бичдэггүй. Үнэндээ тухайн байгуулагч аргаар үүсгэгдсэн объектыг заах заалтыг буцаадаг. Жич: Заалт нь тухайн объектын санах ойд байрлах байршлыг заана. Байгуулагч аргын бичиглэлийн ерөнхий хэлбэр: className( parameterList ) { // энд байгуулагч аргын их бие байна }
  • 19.
    Гишүүн өгөгдөл бабайгуулагч арга тодорхойлж ашиглах class HelloObject { String greeting; HelloObject( String st ) { greeting = st; } void speak() { System.out.println( greeting ); } } class HelloTester { public static void main ( String[] args ) { HelloObject anObject = new HelloObject("A Greeting!"); anObject.speak(); } } Нэг аргумент бүхий байгуулагч арга String төрлийн гишүүн өгөгдөл Байгуулагч аргыг дуудахдаа аргументаар хангах
  • 20.
    Классын хэд хэдэнобъект үүсгэж ашиглах class HelloObject { String greeting; HelloObject( String st ) { greeting = st; } void speak() { System.out.println( greeting ); } } class HelloTester { public static void main ( String[] args ) { HelloObject object1 = new HelloObject("Mercury"); HelloObject object2 = new HelloObject("Venus"); HelloObject object3 = new HelloObject("Earth"); HelloObject object4 = new HelloObject("Mars"); object1.speak(); object2.speak(); object3.speak(); object4.speak(); } } Энэ програмд HelloObject классын 4 үүсгэж ашиглаж байна.
  • 21.
    this заалтАливаа объект од this заалт бай на. Объектыг new оперторын тусламжтай үүсгэх үед байгуулагч арга нь түүний this заалтад тухайн объектын байрлах санах ойн хаягийг олгодог. this заалтын тусламжтай тухайн объект руу хандах боломжтой байдаг. Өх: объектын статик биш аргыг дуудах үед далдуур this заалтаар дамжуулан уг объектын байрлах санах ойн мужтай холбогдож байдаг. Иймд арга дотор this заалтыг ашиглан объектод хандаж болно.
  • 22.
    this заалташигласан бичиглэл class HelloObject { String greeting; HelloObject( String st ) { greeting = st; } void speak() { System.out.println( greeting ); } } class HelloTester { public static void main ( String[] args ) { HelloObject anObject = new HelloObject("A Greeting!"); anObject.speak(); } } this.greeting = st;