Mongolia University of Science & Technology




         Объект хандлагат
      програмчлалын хэл Java
Лабораторийн ажил №6                                       Хичээл: SW203
Интерфейс (interface)                                   Улирал: 2006 намар
                                               Бэлтгэсэн багш: Д.Энхжаргал
Оноо: 3




                                                                             1
Лабораторийн ажил гүйцэтгэх
журам
   Лабораторийн цаг дээр
       Гадуур хувцастай суух
       Хоорондоо ярих
       Тоглоом тоглохыг тус тус хориглоно.
   Тухайн 7 хоногийн лекцийн цаг дээр үзсэн ойлголтоо ашиглан вэбэд
    тавигдсан зааврын дагуу тухайн 7 хоногийн лабораторийн ажлыг
    гүйцэтгэнэ.
   Цагтаа амжиж лаборатори хамгаалахын тулд тухайн лекцэнд
    анхааралтай суухаас гадна тус хичээлийн өмнөх холбоо болох SW202
    хичээлээр үзсэн ойлголт, мэдлэгээ бататган сэргээсэн байх жстойг
    анхаарна уу.
   Лабораторийн ажлыг дүгнэхдээ даалгаврын гүйцэтгэлээс хамаарч авах
    жстой онооны 100 хүртэлх хувиар дүгнэнэ. Хэрэв дараагийн 7 хоногт нь
    нөхөж хамгаалвал даалгаврын гүйцэтгэлээс хамаарч авах жстой онооны
    75 хүртэлх хувиар дүгнэх бөгөөд лабораторийн ажлыг дахин нөхөж
    хамгаалах гэсэн ойлголт байхгүйг анхаарна уу.

                                                                           2
Онолын үндэс: Интерфейс (Interface)
    Интерфейс дэх функцууд нь нийтийн хандалттай
     тодорхойлогдоно. Нэг жсондоо интерфейс нь нийтийн
     хандалттай хийсвэр функцуудын цогц юм.
    Интерфейсийн хүрээнд ямар ч хэрэгжүүлэлт байж болохгүй.
     Иймд түүнийг ямар ч боловсруулалт хийхгүй зөвхөн
     зааглагчийн үүрэгтэй гэж тодорхойлж болно.
    Интерфейсийг хэрэгжүүлэгч классын нэрний ард implements
     түлхүүр үгийг тухайн интерфейсийн нэрний хамт бичнэ .
    Интерфейс дэх функцыг хэрэгжүүлэхдээ түүнийг заавал public
     хандалттай тодорхойлж өгнө
    Интерфейсийг хэрэгжүүлэгч класс дахь тухайн функцын
     хэрэгжүүлэлт нь ижил дүрслэлтэй тодорхойлогдоно.
    Нэг интерфейсийг хэдэн ч класс хэрэгжүүлэх боломжтой.
     Эсрэгээрээ нэг класс хэдэн ч интерфейсийг хэрэгжүүлэх
     боломжтой. Хэд хэдэн интерфейсийг хэрэгжүүлэх классыг
     тодорхойлохын тулд тэдгээрийг таслалаар зааглаж бичнэ.

                                                                  3
Интерфейс (Interface)
Даалгавар:
Оюутан бүр бодлогын даалгавраа өөрөө хийсвэрлэж (өөрийн гэсэн нэг класс
сонгож) интерфейс хэмээх ойлголтыг хэрэгжүүлсэн жижиг хэмжээний
програм бичих.

Шаардлага:
 Бодлогын даалгавар нь бодит амьдралд нийцсэн байх.
 Дор хаяж 2 интерфейс тодорхойлж ашиглах




                                                                          4
Жишээ 1

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




Энд
БаклаврОюутан
класс нь 2
интерфейсийг                   PaymentInterface-ийн
хэрэгжүүлж байна                 CalculatePayment()
                                 функцын хэрэгжилт

                             UniversityInterface-ийн
                                 display() функцын
                                     хэрэгжилт



                                                    5
Жишээ 1




          6
Жишээ 2
   Жишээ болгож дараах Дүрс классын иерархи шаталсан харьцааг авч үзье.
    Дүрс бүр талбайтай, эзлэхүүнтэй, тодорхойлогч нэртэй тул
        getArea() // талбайн утга буцаах
        getVolume() // эзэлхүүний утга буцаах
        getName() //нэр буцаах 3 хийсвэр функцууд бүхий Дүрс (Shape)
    интерфейсийг тодорхойлох боломжтой.



                        Shape


                        Point


                        Circle


                       Cylinder


                                                                           7
Жишээ 2


                 getArea     getVolume   getName           print


       Shape       0.0          0.0         =0             =0




        Point      0.0          0.0       "Point"          [x,y]




                   pr2          0.0       "Circle"    center=[x,y];
       Circle
                                                      radius=r


                                                      center=[x,y];
     Cylinder   2pr2 +2prh     pr2h      "Cylinder"   radius=r;
                                                      height=h


                                                                      8
Жишээ 2




    Интерфейс дэх
        хийсвэр
        функцын
      хэрэгжилтүүд




                     9
Жишээ 2




Интерфейс дэх
    хийсвэр
    функцын
  хэрэгжилтүүд




                 10
Жишээ 2




Интерфейс дэх
    хийсвэр
    функцын
  хэрэгжилтүүд




                 11

Sw203lab6

  • 1.
    Mongolia University ofScience & Technology Объект хандлагат програмчлалын хэл Java Лабораторийн ажил №6 Хичээл: SW203 Интерфейс (interface) Улирал: 2006 намар Бэлтгэсэн багш: Д.Энхжаргал Оноо: 3 1
  • 2.
    Лабораторийн ажил гүйцэтгэх журам  Лабораторийн цаг дээр  Гадуур хувцастай суух  Хоорондоо ярих  Тоглоом тоглохыг тус тус хориглоно.  Тухайн 7 хоногийн лекцийн цаг дээр үзсэн ойлголтоо ашиглан вэбэд тавигдсан зааврын дагуу тухайн 7 хоногийн лабораторийн ажлыг гүйцэтгэнэ.  Цагтаа амжиж лаборатори хамгаалахын тулд тухайн лекцэнд анхааралтай суухаас гадна тус хичээлийн өмнөх холбоо болох SW202 хичээлээр үзсэн ойлголт, мэдлэгээ бататган сэргээсэн байх жстойг анхаарна уу.  Лабораторийн ажлыг дүгнэхдээ даалгаврын гүйцэтгэлээс хамаарч авах жстой онооны 100 хүртэлх хувиар дүгнэнэ. Хэрэв дараагийн 7 хоногт нь нөхөж хамгаалвал даалгаврын гүйцэтгэлээс хамаарч авах жстой онооны 75 хүртэлх хувиар дүгнэх бөгөөд лабораторийн ажлыг дахин нөхөж хамгаалах гэсэн ойлголт байхгүйг анхаарна уу. 2
  • 3.
    Онолын үндэс: Интерфейс(Interface)  Интерфейс дэх функцууд нь нийтийн хандалттай тодорхойлогдоно. Нэг жсондоо интерфейс нь нийтийн хандалттай хийсвэр функцуудын цогц юм.  Интерфейсийн хүрээнд ямар ч хэрэгжүүлэлт байж болохгүй. Иймд түүнийг ямар ч боловсруулалт хийхгүй зөвхөн зааглагчийн үүрэгтэй гэж тодорхойлж болно.  Интерфейсийг хэрэгжүүлэгч классын нэрний ард implements түлхүүр үгийг тухайн интерфейсийн нэрний хамт бичнэ .  Интерфейс дэх функцыг хэрэгжүүлэхдээ түүнийг заавал public хандалттай тодорхойлж өгнө  Интерфейсийг хэрэгжүүлэгч класс дахь тухайн функцын хэрэгжүүлэлт нь ижил дүрслэлтэй тодорхойлогдоно.  Нэг интерфейсийг хэдэн ч класс хэрэгжүүлэх боломжтой. Эсрэгээрээ нэг класс хэдэн ч интерфейсийг хэрэгжүүлэх боломжтой. Хэд хэдэн интерфейсийг хэрэгжүүлэх классыг тодорхойлохын тулд тэдгээрийг таслалаар зааглаж бичнэ. 3
  • 4.
    Интерфейс (Interface) Даалгавар: Оюутан бүрбодлогын даалгавраа өөрөө хийсвэрлэж (өөрийн гэсэн нэг класс сонгож) интерфейс хэмээх ойлголтыг хэрэгжүүлсэн жижиг хэмжээний програм бичих. Шаардлага:  Бодлогын даалгавар нь бодит амьдралд нийцсэн байх.  Дор хаяж 2 интерфейс тодорхойлж ашиглах 4
  • 5.
    Жишээ 1 Хийсвэр функцээс гадна тогтмол хувьсагч агуулах интерфейс Энд БаклаврОюутан класс нь 2 интерфейсийг PaymentInterface-ийн хэрэгжүүлж байна CalculatePayment() функцын хэрэгжилт UniversityInterface-ийн display() функцын хэрэгжилт 5
  • 6.
  • 7.
    Жишээ 2  Жишээ болгож дараах Дүрс классын иерархи шаталсан харьцааг авч үзье. Дүрс бүр талбайтай, эзлэхүүнтэй, тодорхойлогч нэртэй тул getArea() // талбайн утга буцаах getVolume() // эзэлхүүний утга буцаах getName() //нэр буцаах 3 хийсвэр функцууд бүхий Дүрс (Shape) интерфейсийг тодорхойлох боломжтой. Shape Point Circle Cylinder 7
  • 8.
    Жишээ 2 getArea getVolume getName print Shape 0.0 0.0 =0 =0 Point 0.0 0.0 "Point" [x,y] pr2 0.0 "Circle" center=[x,y]; Circle radius=r center=[x,y]; Cylinder 2pr2 +2prh pr2h "Cylinder" radius=r; height=h 8
  • 9.
    Жишээ 2 Интерфейс дэх хийсвэр функцын хэрэгжилтүүд 9
  • 10.
    Жишээ 2 Интерфейс дэх хийсвэр функцын хэрэгжилтүүд 10
  • 11.
    Жишээ 2 Интерфейс дэх хийсвэр функцын хэрэгжилтүүд 11