Статик холболт ба динамик холболтын ялгаа

Агуулгын хүснэгт:

Статик холболт ба динамик холболтын ялгаа
Статик холболт ба динамик холболтын ялгаа

Видео: Статик холболт ба динамик холболтын ялгаа

Видео: Статик холболт ба динамик холболтын ялгаа
Видео: КАК НАСТРОИТЬ L4D2 2024, Арванхоёрдугаар сар
Anonim

Үндсэн ялгаа – Статик холбох ба динамик холбох

Java болон C зэрэг програмчлалын хэл нь Объект хандалтат програмчлалыг (OOP) дэмждэг. Энэ нь объект ашиглан програм хангамж бүтээх боломжийг олгодог. Програм хангамжийн систем эсвэл программд олон объект байдаг. Эдгээр объектууд нь шинж чанар, аргуудтай байдаг. Шинж чанарууд нь шинж чанаруудыг тодорхойлдог. Арга нь тухайн объектоор гүйцэтгэж болох үйлдлүүдийг тодорхойлдог. Мэдээллийг аргуудыг ашиглан объектоор дамжуулдаг. Шаардлагатай утгуудыг параметрүүдтэй аргын дуудлагаар илгээдэг. Бодит аргын хэрэгжилт нь аргын тодорхойлолтод байдаг. Аргын дуудлага болон аргын тодорхойлолт хоёрын хооронд холбоос байдаг. Үүнийг холбох гэж нэрлэдэг. Хоёр төрлийн бэхэлгээ байдаг. Эдгээр нь статик холболт ба динамик холболт юм. Статик холбох ба динамик холбох хоёрын гол ялгаа нь статик холболтын үед холболтыг хөрвүүлэх үед шийддэг бол динамик холболтыг гүйцэтгэх үед шийддэг бөгөөд энэ нь бодит гүйцэтгэлийн цаг юм. Энэ нийтлэлд эдгээр хоёр холбох механизмын ялгааг авч үзэх болно.

Статик холбох гэж юу вэ?

Холбоо нь аргын дуудлага болон аргын тодорхойлолтуудын хоорондох холбоос юм.

Статик холболт ба динамик холболтын ялгаа
Статик холболт ба динамик холболтын ялгаа

Зураг 01: Статик холбох ба динамик холбох

Java хэл дээр бичсэн доорх програмыг үзнэ үү.

нийтийн А анги{

нийтийн хүчингүй болгох арга1(){

System.out.println("Арга1");

}

нийтийн хүчингүй болгох арга2(){

System.out.println(“Арга 2”);

}

нийтийн статик хүчингүй үндсэн(Мөр арг){

A obj=шинэ A();

obj.method1();

obj.method2();

}

}

Дээрх программын дагуу А төрлийн объект үүссэн. Дараа нь арга 1 ба арга 2 дуудагдана. Гүйцэтгэлд ямар аргыг дуудах ёстойг тодорхойлохыг binding гэж нэрлэдэг. obj.method1() нь method1()-г дуудах ба obj.method2() нь method2()-г дуудна. Энэ холбоос заавал байна.

Хөдөлгөөнгүй холболтын үед хөрвүүлэгч нь хөрвүүлэх үед холболтыг шийддэг. Үүнийг мөн эрт холбох гэж нэрлэдэг. Програм ажиллахаас өмнө холбох нь хийгддэг. Аргын хэт ачаалалд статик холболт үүсдэг. Java хэл дээр бичигдсэн доорх програмыг үзнэ үү.

нийтийн хүчингүй Тооцоолол{

нийтийн хүчингүй нийлбэр(int x, int y){

System.out.println(“Нийтлэл нь “, x+y);

}

нийтийн хүчингүй нийлбэр(давхар х, давхар у){

System.out.println(“Нийтлэл нь “, x+y);

}

нийтийн статик хүчингүй үндсэн(Мөр арг){

Calculation cal=new Calculation();

кал.нийлбэр(2, 3);

кал.нийлбэр(5.1, 6.4);

}

}

Дээрх программын дагуу хоёр бүхэл тоог дамжуулахдаа хоёр бүхэл тоотой аргыг дуудна. Хоёр давхар утгыг дамжуулах үед хоёр давхар утгатай тохирох аргыг дуудах болно. Энэхүү холбох үйл явц нь эмхэтгэх үед тохиолддог. Хөрвүүлэгч нь cal.sum(2, 3)-ийн хоёр бүхэл тоо бүхий sum аргыг дуудах ёстойг мэддэг. cal(5.1, 6.4)-ийн хувьд хоёр давхар утгатай нийлбэрийн аргыг дуудна. Шаардлагатай бүх мэдээлэл нь ажиллах хугацаанаас өмнө мэдэгдэж байгаа тул програмын үр ашиг, гүйцэтгэлийн хурдыг нэмэгдүүлдэг.

Динамик холбох гэж юу вэ?

Динамик Binding-д хөрвүүлэгч нь хөрвүүлэх үед холболтыг шийддэггүй. Холболт нь ажиллах үед тохиолддог. Үүнийг бас хожуу холбох гэж нэрлэдэг. Динамик холбох нь аргыг дарж бичихэд тохиолддог. Java хэл дээр бичигдсэн програмыг үзнэ үү.

нийтийн анги Shape(){

нийтийн хүчингүй зурах(){

System.out.println("Дүрс зурах");

}

}

нийтийн анги Circle() хэлбэрийг өргөтгөдөг{

нийтийн хүчингүй зурах(){

System.out.println("Тойрог зурах");

}

}

нийтийн анги Гурвалжин() хэлбэрийг сунгана{

нийтийн хүчингүй зурах(){

System.out.println("Гурвалжин зурах");

}

}

нийтийн ангийн тест{

нийтийн статик хүчингүй үндсэн(Мөр арг){

Хэлбэр s;

s=шинэ хэлбэр();

s.draw();

s=new Circle();

s.draw();

s=шинэ гурвалжин();

s.draw();

}

}

Дээрх программын дагуу Shape ангид draw() арга байдаг. Class Circle ба гурвалжин анги нь Shape ангиллыг өргөжүүлдэг. Class Circle болон Class Triangle нь Shape ангийн шинж чанарууд болон аргуудыг өвлөн авах боломжтой. Тиймээс Shape анги нь супер анги эсвэл эцэг эх анги юм. Ангийн тойрог ба Ангийн гурвалжин нь дэд анги эсвэл үүсмэл анги юм. Эдгээр ангиуд нь өөрийн хэрэгжүүлэлттэй draw() аргатай. Тиймээс супер анги дахь draw() аргыг хүчингүй болгосон.

Үндсэн аргад өөр өөр объект дуудагддаг. Shape төрлийн лавлагаа хувьсагч байдаг бөгөөд энэ нь s. Дараа нь s нь тухайн ангийн дагуу аргыг дууддаг. Эмхэтгэх үед хөрвүүлэгч зөвхөн супер ангиллын зурах аргыг л заана. Бодит гүйцэтгэл эхлэхэд энэ нь янз бүрийн зурах аргыг хэрэгжүүлэхэд хүргэнэ. Эхлээд s нь Shape төрлийн объект руу чиглэнэ. Тиймээс Shape ангид зурах аргыг дуудах болно. Дараа нь s нь Circle төрлийн объектыг зааж өгөх бөгөөд энэ нь Circle ангийн зурах аргыг дуудах болно. Эцэст нь s нь Triangle төрлийн объектыг зааж өгөх бөгөөд Triangle анги дахь зурах аргыг дуудах болно. Хэдийгээр лавлагаа хувьсагч нь Shape төрлийнх боловч холболт нь объектын төрлөөс хамаарна. Энэ ойлголтыг Динамик Binding гэж нэрлэдэг. Мэдээллийг ажиллуулах үед өгдөг тул гүйцэтгэлийн хурд нь статик холболттой харьцуулахад удаан байна.

Статик холбох болон динамик холбох хоёрын ижил төстэй байдал юу вэ?

Эдгээр нь аль аль нь объектыг олон янзаар ажиллах боломжийг олгодог полиморфизмтэй холбоотой

Статик холбох ба динамик холбох хоёрын ялгаа юу вэ?

Статик холбох ба динамик холбох

Статик холбох нь хөрвүүлэх явцад функцийг дуудах шаардлагатай бүх мэдээллийг цуглуулдаг холболтын төрөл юм. Динамик холбох нь ажиллах хугацаанд функцийг дуудах шаардлагатай бүх мэдээллийг цуглуулдаг холболтын төрөл юм.
Холбох хугацаа
Статик холболт эмхэтгэх үед тохиолддог. Ажиллах үед динамик холболт үүсдэг.
Функциональ
Статик Binding нь холбохдоо төрлийн мэдээллийг ашигладаг. Динамик Binding нь холбохын тулд шийдвэрлэхийн тулд объектуудыг ашигладаг.
Бодит объект
Статик холболт нь холбоход бодит объект ашигладаггүй. Динамик холбох, холбохдоо бодит объектыг ашиглана уу.
Ижил нэр
Статик холболтыг мөн эрт холбох гэж нэрлэдэг. Динамик холболтыг хожуу холбох гэж нэрлэдэг.
Гүйцэтгэл
Гүйцэтгэх хурд нь статик холболттой үед хурдан байдаг. Гүйцэтгэх хурд нь динамик холболтын хувьд бага байна.
Жишээ
Аргын хэт ачаалалд статик холболтыг ашигладаг. Динамик холболтыг аргыг дарж бичихэд ашигладаг.

Хураангуй – Статик холбох ба динамик холбох

Аргын дуудлага болон аргын тодорхойлолт хоёрын хооронд холбоо байна. Үүнийг холбох гэж нэрлэдэг. Статик холболт болон динамик холболт гэж хоёр төрлийн холболт байдаг. Статик холбох ба динамик холбох хоёрын ялгаа нь статик холболтын үед хөрвүүлэх үед холболтыг шийддэг бол динамик холболтыг гүйцэтгэх үед шийддэг бөгөөд энэ нь бодит гүйцэтгэлийн цаг юм. Ажиллах хугацаанаас өмнө шаардлагатай мэдээллийг өгдөг тул статик холболт нь динамик холболттой харьцуулахад хурдан хийгддэг.

Статик Binding болон Динамик Binding-ийн PDF-г татаж авах

Та энэ нийтлэлийн PDF хувилбарыг татаж аваад офлайн зорилгоор ашиглах боломжтой. PDF хувилбарыг эндээс татаж авна уу: Статик холболт ба динамик холболтын ялгаа

Зөвлөмж болгож буй: