บทความนี้ส่วนใหญ่ศึกษาเนื้อหาที่เกี่ยวข้องเกี่ยวกับการโอเวอร์โหลดการเขียนซ้ำความหลากหลายการผูกมัดแบบคงที่และการเชื่อมโยงแบบไดนามิกใน Java ดังต่อไปนี้
โอเวอร์โหลด ชื่อภาษาอังกฤษคือโอเวอร์โหลดซึ่งหมายความว่ามากกว่าหนึ่งวิธีที่มีชื่อเดียวกันถูกกำหนดไว้ในชั้นเรียน จำนวนพารามิเตอร์ประเภทพารามิเตอร์และลำดับของวิธีการเหล่านี้ไม่เหมือนกัน ประเภทการส่งคืนอาจเหมือนกันหรือแตกต่างกัน
คลาสสาธารณะ tstaticoverload {ความสูง int คงที่; tstaticoverload () {system.out.println ("การปลูกต้นกล้า"); ความสูง = 0;} tstaticoverload (int initialheight) {ความสูง = เริ่มต้น; system.out.println ("การสร้างต้นไม้ใหม่ ความสูง + "ฟุตสูง");} ข้อมูลโมฆะคง Public Class Testso {โมฆะสาธารณะคงที่หลัก (String [] args) {tstaticoverload t = new tstaticoverload (5); tstattaticoverload.info (); tstaticoverload.info ("วิธี overloading"); tstaticoverload ใหม่ ();}}}}}}}}ออก: การสร้างต้นไม้ใหม่ที่มีต้นไม้สูง 5 ฟุตสูง 5 ฟุตวิธีการโอเวอร์โหลด: ต้นไม้สูง 5 ฟุตปลูกต้นกล้า
เขียนใหม่ชื่อภาษาอังกฤษจะถูกแทนที่ซึ่งหมายความว่าในกรณีของการสืบทอดวิธีการที่กำหนดไว้ในคลาสย่อยที่มีชื่อเดียวกันประเภทการส่งคืนเดียวกันหรือประเภทที่เข้ากันได้และพารามิเตอร์เดียวกับวิธีการในคลาสฐานถูกกำหนด สิ่งนี้เรียกว่า subclass เขียนวิธีการคลาสฐานใหม่ นี่เป็นขั้นตอนที่จำเป็นในการใช้ polymorphism
Polymorphism: polymorphism คือความสามารถของพฤติกรรมเดียวกันที่จะมีอาการหรือรูปแบบที่แตกต่างกันหลายอย่าง
Public Class Staticsupper {สตริงคงที่สาธารณะ Staticget () {return "Base StaticGet ()";} Public String DynamicGet () {return "Base DynamicGet ()";}} staticsub คลาสขยาย staticsupper StaticMub ขยาย Staticsupper {Pub Static String StaticGet () {return "Mubs StaticGet ()";} Public String DynamicGet () {return "MUB DynamicGet ()";}} คลาสสาธารณะ StaticPolymorphism {โมฆะคงที่สาธารณะหลัก (String [] args) {Staticsupper SUP1 = ใหม่ staticsub (); System.out.println (sup1.staticget ()); System.out.println (sup1.dynamicget ()); Staticsupper SUP2 = new StaticMub (); System.out.println (sup2.staticget ()); System.out.println (sup2.dynamicget ()); -OUT: Base Staticget () Sub Dynamicget () Base Staticget () MUB Dynamicget ()
แนวคิดของการผูกโปรแกรม:
การเชื่อมหมายถึงการเชื่อมโยงของวิธีการเรียกใช้กับคลาส (ตัวถังวิธี) ซึ่งวิธีการตั้งอยู่ สำหรับ Java การผูกมัดจะถูกแบ่งออกเป็นการผูกมัดแบบคงที่และการผูกมัดแบบไดนามิก หรือเรียกว่าการผูกมัดก่อนและผูกพันล่าช้า
การผูกพันคงที่:
วิธีการถูกผูกไว้ก่อนที่โปรแกรมจะถูกดำเนินการและดำเนินการโดยคอมไพเลอร์หรือโปรแกรมการเชื่อมต่ออื่น ๆ ตัวอย่างเช่น: C.
สำหรับ Java สามารถเข้าใจได้ว่ามีผลผูกพันในระหว่างระยะเวลาการรวบรวมโปรแกรม ที่นี่มีความชัดเจนโดยเฉพาะอย่างยิ่งว่าวิธีการเดียวใน Java นั้นเป็นวิธีสุดท้ายแบบคงที่ส่วนตัวและคอนสตรัคเตอร์ที่มีผลผูกพันเร็ว
การผูกมัดแบบไดนามิก:
การเชื่อมโยงในภายหลัง: การเชื่อมโยงแบบไดนามิกหมายถึงคอมไพเลอร์ที่ไม่ทราบว่าวิธีการโทรใดในระหว่างขั้นตอนการรวบรวมจนกว่าจะถึงเวลาทำงานตามประเภทของวัตถุเฉพาะ
หากภาษาใช้การเชื่อมโยงล่าช้ามันจะต้องมีกลไกบางอย่างเพื่อกำหนดประเภทของวัตถุในระหว่างการดำเนินการและการเรียกวิธีการที่เหมาะสมแยกกัน กล่าวอีกนัยหนึ่งคอมไพเลอร์ยังไม่ทราบประเภทวัตถุในเวลานี้ แต่กลไกการเรียกใช้วิธีการสามารถตรวจสอบได้ด้วยตัวเองและค้นหาวิธีการที่ถูกต้อง ภาษาที่แตกต่างกันมีวิธีที่แตกต่างกันในการใช้การผูกมัดล่าช้า แต่อย่างน้อยเราก็สามารถคิดแบบนี้ได้: พวกเขาทั้งหมดจำเป็นต้องติดตั้งข้อมูลพิเศษบางประเภทในวัตถุ
วิธีการโอเวอร์โหลดรวมถึงวิธีการคงที่มากเกินไปและวิธีการมากเกินไปทั่วไป วิธีการคงที่มากเกินไปคือการเชื่อมโยงแบบคงที่และการเรียกวิธีการผ่าน: ชื่อคลาส วิธี. วิธีทั่วไปที่โอเวอร์โหลดคือการเชื่อมโยงแบบไดนามิกและการเรียกใช้วิธีการผ่าน: การอ้างอิงวัตถุอินสแตนซ์ วิธี. ตัวสร้างสามารถมากเกินไป แต่ไม่สามารถเขียนใหม่ได้
วิธีการคงที่สามารถเขียนใหม่ได้ แต่ไม่มีผล polymorphic
สรุป
ข้างต้นเป็นเรื่องเกี่ยวกับการอภิปรายสั้น ๆ ของบทความนี้เกี่ยวกับการโอเวอร์โหลดการเขียนใหม่การโพลีมอร์ฟิสต์การผูกมัดแบบคงที่และการเชื่อมโยงแบบไดนามิกใน Java ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!