ความแตกต่างที่สำคัญ – การผูกต้นกับปลาย
Early Binding และ Late Binding เป็นแนวคิดสองประการที่เกี่ยวข้องกับ Polymorphism Early Binding เกิดขึ้นที่เวลาคอมไพล์ในขณะที่ Late Binding เกิดขึ้นที่รันไทม์ ความแตกต่างที่สำคัญระหว่าง Early Binding และ Late Binding คือ Early Binding ใช้ข้อมูลคลาสเพื่อแก้ไขการเรียกเมธอดในขณะที่ Late Binding ใช้อ็อบเจ็กต์เพื่อแก้ไขการเรียกเมธอด
ภาษาการเขียนโปรแกรม เช่น Java รองรับการเขียนโปรแกรมเชิงวัตถุ (OOP) เป็นกระบวนทัศน์ที่อนุญาตให้สร้างโปรแกรมหรือซอฟต์แวร์โดยใช้วัตถุ มีหลายอ็อบเจ็กต์ในซอฟต์แวร์ วัตถุเหล่านี้เชื่อมต่อกันและส่งข้อความโดยใช้วิธีการวัตถุทุกชิ้นมีลักษณะและพฤติกรรม ลักษณะจะอธิบายโดยคุณสมบัติหรือแอตทริบิวต์ พฤติกรรมอธิบายโดยใช้วิธีการ วัตถุที่นักเรียนสามารถมีลักษณะเช่นชื่ออายุและแสดงโดยคุณสมบัติ วัตถุที่นักเรียนสามารถมีพฤติกรรมเช่นการศึกษาและการอ่านและแสดงด้วยวิธีการ เสาหลักประการหนึ่งของ OOP คือ Polymorphism ช่วยให้วัตถุมีพฤติกรรมได้หลายวิธี Early Binding และ Late Binding เป็นแนวคิดสองประการใน Polymorphism วิธีการโอเวอร์โหลดจะถูกผูกมัดโดยใช้การผูกในช่วงต้น วิธีการแทนที่จะถูกผูกมัดโดยใช้การผูกปลาย
Early Binding คืออะไร
ใน Early Binding ข้อมูลคลาสจะใช้เพื่อแก้ไขการเรียกเมธอด Early Binding เกิดขึ้นในเวลาคอมไพล์ เป็นที่รู้จักกันว่ามีผลผูกพันแบบสถิต ในกระบวนการนี้ การผูกจะเกิดขึ้นก่อนที่โปรแกรมจะทำงานจริง วิธีการโอเวอร์โหลดจะถูกผูกมัดโดยใช้การผูกในช่วงต้น อ้างอิงโปรแกรมด้านล่าง
รูปที่ 01: ชั้นเรียนการคำนวณ
รูปที่ 02: โปรแกรมหลักสำหรับ Early Binding
ตามโปรแกรมข้างต้น คลาสการคำนวณมีวิธีบวกที่ยอมรับค่าจำนวนเต็มสองค่าและวิธีบวกอีกวิธีหนึ่งที่ยอมรับค่าคู่สองค่า ในโปรแกรมหลัก วัตถุประเภทการคำนวณจะถูกสร้างขึ้น เมื่อส่งผ่านจำนวนเต็มสองจำนวนไปยังวิธีการเพิ่ม จะเรียกวิธีการเพิ่มที่ยอมรับจำนวนเต็มสองจำนวน เมื่อส่งค่า double สองค่าไปยังวิธีการ add จะเรียกใช้วิธีการที่สอดคล้องกับค่า double สองค่า กระบวนการผูกมัดนี้เกิดขึ้นในเวลาคอมไพล์ ข้อมูลที่จำเป็นทั้งหมดเป็นที่รู้จักก่อนรันไทม์ ดังนั้นจึงเป็นการเพิ่มประสิทธิภาพของโปรแกรมและความเร็วในการดำเนินการ
การผูกสายคืออะไร
ในการผูกล่าช้า ออบเจ็กต์ถูกใช้เพื่อแก้ไขการเรียกเมธอด Late Bining เกิดขึ้นที่รันไทม์ เรียกอีกอย่างว่าการเชื่อมโยงแบบไดนามิก ในกระบวนการนี้ การผูกจะเกิดขึ้นที่การทำงานของโปรแกรม วิธีการที่ถูกแทนที่จะถูกผูกมัดโดยใช้การผูกที่ล่าช้า อ้างอิงโปรแกรมด้านล่าง
รูปที่ 03: คลาสรูปร่าง
รูปที่ 04: ชั้นเรียนแบบวงกลม
รูปที่ 05: ชั้นสามเหลี่ยม
ภาพที่ 06: โปรแกรมหลักสำหรับการผูกล่าช้า
ตามโปรแกรมข้างบนนี้ class Shape มีวิธีจับฉลาก คลาส Circle และคลาส Triangle ขยายคลาส Shape ดังนั้น ทั้งสองคลาสจึงสามารถสืบทอดแอตทริบิวต์และเมธอดของคลาส Shape ได้ Shape Class เป็นคลาสพื้นฐาน คลาส Circle และ Triangle เป็นคลาสที่ได้รับ class Circle และ class Triangle มีวิธีการวาดด้วยการใช้งานของตัวเอง ดังนั้น วิธีการวาดในคลาส Shape จะถูกแทนที่โดยวิธีการวาดของคลาสที่ได้รับ
ในโปรแกรมหลัก ตัวแปรอ้างอิง s ประเภท Shape จะถูกสร้างขึ้น ณ เวลารวบรวม คอมไพเลอร์จะอ้างอิงถึงวิธีการวาดคลาสพื้นฐานเท่านั้น ที่รันไทม์ วิธีการวาดที่แตกต่างกันจะดำเนินการขั้นแรก s จะชี้ไปที่วัตถุประเภท Shape ดังนั้นวิธีการวาดของคลาส Shape จึงถูกเรียกใช้ จากนั้น s จะชี้ไปที่วัตถุประเภท Circle และจะเรียกใช้วิธีการวาดของคลาส Circle สุดท้าย s จะชี้ไปที่วัตถุประเภท Triangle และจะเรียกใช้วิธีการวาดในคลาส Triangle วิธีการถูกเรียกขึ้นอยู่กับวัตถุ ดังนั้น อ็อบเจ็กต์จึงถูกใช้เพื่อแก้ไขเมธอดที่เรียกใช้ใน Late Binding ข้อมูลที่จำเป็นสำหรับการเชื่อมโยงจะมีให้ในขณะใช้งาน ดังนั้นความเร็วในการดำเนินการจึงช้ากว่าเมื่อเปรียบเทียบกับการรวมก่อนหน้า
ความคล้ายคลึงกันระหว่างการผูกต้นกับการผูกปลายคืออะไร
ทั้ง Early Binding และ Late Binding เกี่ยวข้องกับความหลากหลายที่เป็นเสาหลักของ OOP
การผูกต้นกับการผูกปลายต่างกันอย่างไร
ผูกต้นกับสายช้า |
|
กระบวนการใช้ข้อมูลในชั้นเรียนเพื่อแก้ไขการเรียกเมธอดที่เกิดขึ้นในเวลาคอมไพล์เรียกว่า Early Binding | กระบวนการของการใช้อ็อบเจ็กต์เพื่อแก้ไขการเรียกเมธอดที่เกิดขึ้นในขณะรันไทม์เรียกว่า Late Binding |
เวลาผูกมัด | |
Early Binding เกิดขึ้นในเวลาคอมไพล์ | การผูกล่าช้าเกิดขึ้นที่รันไทม์ |
ฟังก์ชั่น | |
Early Binding ใช้ข้อมูลชั้นเรียนเพื่อแก้ไขการเรียกเมธอด | Late Binding ใช้วัตถุเพื่อแก้ไขการเรียกเมธอด |
คำพ้องความหมาย | |
Early Binding เรียกอีกอย่างว่า Static Binding.. | ผูกสายเรียกอีกอย่างว่าการเชื่อมโยงแบบไดนามิก |
เกิดขึ้น | |
วิธีการโอเวอร์โหลดจะถูกผูกมัดโดยใช้การผูกไว้ล่วงหน้า | วิธีการแทนที่ถูกผูกมัดโดยใช้การผูกสาย |
ความเร็วในการดำเนินการ | |
ความเร็วในการดำเนินการเร็วขึ้นในการผูกในช่วงต้น | ความเร็วในการดำเนินการต่ำกว่าในการผูกล่าช้า |
สรุป – การผูกต้นกับปลาย
OOP มักใช้สำหรับการพัฒนาซอฟต์แวร์ เสาหลักประการหนึ่งของ OOP คือความหลากหลาย Early Binding และ Late Binding เกี่ยวข้องกับสิ่งนั้น Early Binding เกิดขึ้นที่เวลาคอมไพล์ในขณะที่ Late Binding เกิดขึ้นที่รันไทม์ ในการโอเวอร์โหลดวิธีการ พันธะเกิดขึ้นโดยใช้การผูกในช่วงต้น ในการแทนที่วิธีการ การเชื่อมจะเกิดขึ้นโดยใช้การจับปลาย ความแตกต่างระหว่าง Early Binding และ Late Binding คือ Early Binding ใช้ข้อมูลคลาสเพื่อแก้ไขการเรียกเมธอดในขณะที่ Late Binding ใช้อ็อบเจ็กต์เพื่อแก้ไขการเรียกเมธอด