Skip to main content

โอเปอเรเตอร์โอเวอร์โหลดคืออะไร?

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

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

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