ความแตกต่างระหว่างการโอเวอร์โหลดและการโอเวอร์โหลดมากเกินไป ความแตกต่างระหว่าง

Anonim

การโอเวอร์โหลดเกิน

การโอเวอร์และโหลดมากเกินไปมีทั้งคุณสมบัติของภาษาโปรแกรมส่วนใหญ่ การโอเวอร์โหลดเป็นคุณลักษณะที่ช่วยให้สามารถสร้างหลายวิธีที่มีชื่อเดียวกันในคลาสเดียวกัน แต่แตกต่างกันในแง่ของประเภทของอินพุตและชนิดของเอาท์พุทของฟังก์ชัน การโอเวอร์โหลดมักเกี่ยวข้องกับภาษาโปรแกรมแบบคงที่ซึ่งบังคับใช้การตรวจสอบชนิดในการเรียกฟังก์ชัน เหล่านี้มักเกี่ยวข้องกับ VB,. Net, C ++, D, Java ฯลฯ การเอาชนะเป็นทักษะหลักที่ใช้สำหรับการเขียนโปรแกรมเชิงวัตถุและทำเมื่อผู้ใช้กำหนดวิธีการที่กำหนดไว้ในคลาสที่มีอยู่หรือผู้ปกครองแล้ว ในเทคนิคการเขียนโปรแกรมนี้สคริปต์จะถูกเข้ารหัสเพื่อทำงานเฉพาะโดยการอนุญาตให้สคริปต์ที่เขียนขึ้นในชั้นล่างหรือชั้นย่อยจะใช้วิธีการหรือชุดคำสั่งที่ได้มีการกำหนดไว้ในชั้นเรียนผู้ปกครองหรือชั้นเรียนที่เหนือกว่าแล้ว

ในการเขียนโปรแกรมคอมพิวเตอร์การโอเวอร์โหลดเกิดจากวิธีการที่มีมากกว่าหนึ่งคำจำกัดความในขอบเขตเดียวกันและใช้ชื่อเดียวกัน แต่มีลายเซ็นที่แตกต่างกัน การใช้งานวิธีใช้มีชื่อเดียวกันเนื่องจากจะทำงานคล้ายคลึงกัน นอกจากนี้ยังมีการระบุพิกัดเกินพิกัดเนื่องจากการรับรู้เป็นกรณี polymorphism ในบางกรณีหรือทั้งหมดของโอเปอเรเตอร์สามารถมีการใช้งานที่แตกต่างกันซึ่งขึ้นอยู่กับชนิดอาร์กิวเมนต์ที่ระบุ การเอาชนะขึ้นอยู่กับการปรากฏตัวของฟังก์ชันระดับฐานสำหรับลักษณะที่ปรากฏ คุณสมบัติการเอาชนะภาษาที่อนุญาตให้คลาสลูกใช้วิธีการที่มีการใช้คลาส superclass หรือ parent ชั้นหนึ่งอยู่แล้วช่วยให้เมธอด subclass กำหนดชื่อเดียวกันรายการพารามิเตอร์และชนิดส่งคืนหรือลายเซ็นที่ใช้วิธีการแทนที่ที่ใช้ในคลาส superclass มี

การโอเวอร์โหลดถือว่าเป็นเรื่องจริงเนื่องจากช่วยให้โปรแกรมเมอร์สามารถเขียนวิธีการต่างๆที่มีชื่อเดียวกัน การโหลดมากเกินไปอาจมีผลต่อภาษาเพราะเมื่อรันไทม์โปรเซสเซอร์จะเปลี่ยนชื่อของวิธีการที่โอเวอร์โหลดทั้งหมด ได้รับการแก้ไขในเวลารวบรวม ในขณะที่การเอาชนะคือ polymorphism ที่ออกแบบมาบนพื้นฐานของพารามิเตอร์แรกโดยปริยายที่ได้รับการแก้ไขเมื่อรันไทม์

สรุป:

คำว่า overloading มักเกี่ยวข้องกับภาษาที่โปรแกรมแบบสแตนด์อโลนและการเอาชนะได้รับความนิยมในการเขียนโปรแกรมเชิงวัตถุ

วิธีการในคลาสที่มีชื่อวิธีเดียวกันกับลายเซ็นที่แตกต่างกันถูกกำหนดให้เป็นวิธีการมากเกินไป การเอาชนะที่เรียกว่าเมธอดในคลาสที่มีชื่อเมธอดเดียวกันและอาร์กิวเมนต์ / ลายเซ็นเดียวกัน

การโอเวอร์โหลดแชร์ความสัมพันธ์ที่เหมือนกันระหว่างเมธอดที่มีอยู่ในคลาสเดียวกันขณะที่ overriding ความสัมพันธ์ระหว่าง superclass method และ subclass method จะถูกสร้างขึ้น

การโอเวอร์โหลดช่วยให้สามารถรับช่วงจาก superclass ได้

ในการเอาชนะเมธอด subclass จะแทนที่ superclass

การโอเวอร์โหลดจะต้องมีลายเซ็นที่แตกต่างกันในขณะที่การเอาชนะต้องจัดสรรลายเซ็นเดียวกัน