Lecture7

18

Click here to load reader

Transcript of Lecture7

Page 1: Lecture7

L o g o

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

Улаанбаатар Их Сургууль 2013 он

ОХП-ын дотоод асуудалбагш Б.Ганзориг

Page 2: Lecture7

L o g o

Объект хандлагат програмчлал Улаанбаатар Их Сургууль 2013 он

Агуулга

getClass аргын хэрэглээ3

Удамшлын хэрэглээ4

1

2

Finilize аргын хэрэглээ

toString аргын хэрэглээ

Page 3: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Удамшлын зохион байгуулалт

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

java.lang багц дотор тодорхойлсон object нь бүх ангиудад шаардагдах араншинг тодорхойлон хэрэгжүүлсэн байдаг.

object ангиас олон анги удамшиж тэдгээр ангиудаас өөр ангиуд удамших зэргээр object –н шатлал үүсдэг.

Бүх ангиудын ерөнхий анги нь ангийн шатлалын оройд нь байрлах оройн анги буюу object анги юм.

Page 4: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Удамшлын зохион байгуулалт

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

Шатлалаас доошлох тусам обьектууд нь илүү тусгаарласан араншинтай болно.

Өөр ангиас удамших замаар дэд анги үүснэ.

Өвөг анги гэдэг тухайн ангийн шууд өвөг юмуу бусад удамшуулж буй ангиуд юм.

Нэг нь зөвхөн ганц шууд дээд ангитай байна.

Page 5: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Удамшлын зохион байгуулалт

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

Дэд анги нь дээд ангийнхаа бүх гишүүн хувьсагчид болон аргыг удамшуулж авдаг

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

Дэд анги нь дээд ангиасаа удамшиж ирсэн хаалттай гишүүн өгөгдөлтэй харьцаж чадахгүй.

Байгуулагч бол гишүүн биш учир дэд ангидаа удамшихгүй.

Page 6: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Аргыг дахин тодорхойлох

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

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

Жишээ нь: object анги нь тухайн нэг төрлийн төлийн хэлхээ дүрслэлийг буцаадаг toString нэртэй төл аргыг агуулдаг.

Page 7: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Аргыг дахин тодорхойлох

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

Бүх анги энэ аргыг удамшуулдаг. Object анги доторх энэ аргын хэрэгжилт нь дэд ангиудад ач холбогдолгүй.

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

Энэ нь ялангуяа зүгшрүүлэлт хийхэд ач холбогдолтой байдаг.

Page 8: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Аргыг дахин тодорхойлох

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

toString-г дахин тодорхойлох жишээг доор харууллаа.

Page 9: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Аргыг дахин тодорхойлох

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

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

Дэд ангийн буцаах төрөл нь дээд ангийнхаа буцаах төрөлтэй ижилхэн байна

Page 10: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Аргыг дахин тодорхойлох

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

Аргыг дахин тодорхойлоход бие биенээс нь ялгаатай байлгах шаардлагатай бол throws тодорхойлолт оруулж болно.

Дээд ангидаа final гэж зарлагдсан аргыг дэд ангид нь дахин тодорхойлж болохгүй.

Page 11: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Аргыг дахин тодорхойлох

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

Дээд ангидаа abstract гэж зарлагдсан ангийг заавал дахин тодорхойлох эсвэл abstract болгон зарлах ёстой.

Дээд анги доторх аргуудыг дахин тодорхойлж болно. toString аргыг дахин тодорхойлох жишээ авч үзье.

Page 12: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Аргыг дахин тодорхойлох

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

Page 13: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Аргыг дахин тодорхойлох

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

Дээрх жишээнд дээд ангийн аргыг дахин тодорхойлох замаар тухайн ангийн чадварыг баяжуулж байна.

Дэд ангийн аргын аргументын тоо, төрлийг өөрчлөх замаар аргыг давхардуулдаг.

Page 14: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Аргыг далдлах

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

Хэрэв дэд ангийн аргыг дээд ангийн аргатай адилхан тодорхойлсон бол дэд ангийн уг арга нь дээд ангийн харгалзах аргыг далдалдаг.

Далдлах, дахин тодорхойлох хоёрын хооронд том ялгаа бий.

Үүнийг жишээн дээр авч үзье.

Page 15: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Аргыг далдлах

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

Энэ жишээ нь хоёр ангиас бүрдэнэ. Эхний анги нь нэг төл арга, нэг анги арга

агуулсан animal анги юм.

Page 16: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Аргыг далдлах

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

Page 17: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

Аргыг далдлах

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

Энэхүү cat анги нь animal доторх override нэртэй дэд аргыг дахин тодорхойлж animal доторх hide() нэртэй аргыг далдалж байна.

Cut ангийн main арга нь cat ангийг заагч болгон хувиргаад үүссэн төл болох myAnimal объектын hide болон override аргуудыг дуудаж байна.

Page 18: Lecture7

L o g o

Улаанбаатар Их Сургууль 2013 он

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