วิธีการโอเวอร์โหลดใน Java [พร้อมตัวอย่าง]
เผยแพร่แล้ว: 2020-11-12Java เป็นภาษาอเนกประสงค์ที่เป็นไปตามแนวคิดของการเขียนโปรแกรมเชิงวัตถุ คุณสมบัติมากมายของการเขียนโปรแกรมเชิงวัตถุทำให้โค้ดเป็นแบบโมดูลาร์ ใช้ซ้ำได้ ยืดหยุ่น และง่ายต่อการดีบัก มีคุณสมบัติหลายอย่างของการเขียนโปรแกรมเชิงวัตถุ เช่น การสืบทอด ความหลากหลาย การห่อหุ้ม และสิ่งที่เป็นนามธรรม
ในบทความนี้ เราจะพูดถึง วิธีการโอเวอร์โหลดใน Java ซึ่งเป็นประเภทของความหลากหลาย
สารบัญ
ความหลากหลาย
Polymorphism หมายถึงความสามารถในการปรากฏในรูปแบบต่างๆ อนุญาตให้ใช้วิธีเดียวกันในการแสดงพฤติกรรมที่แตกต่างกันโดยใช้วิธีการที่แตกต่างกัน Polymorphism มีสองประเภท: Method Overloading และ Method Overriding เมธอดโอเวอร์โหลดหมายความว่าเมธอดหลายเมธอดมีชื่อเดียวกัน แต่มีอาร์กิวเมนต์ต่างกัน
เรียนรู้การสร้างแอปพลิเคชัน เช่น Swiggy, Quora, IMDB และอื่นๆการแทนที่เมธอดหมายความว่าคลาสย่อยสามารถมีเมธอดที่มีชื่อเดียวกับคลาสพาเรนต์ แต่มีการใช้งานที่แตกต่างกัน เราจะพูดถึงวิธีการโอเวอร์โหลดโดยละเอียดในบทความนี้ สำหรับการเอาชนะวิธีการ คุณสามารถเยี่ยมชม upGrad และรับข้อมูลเชิงลึก
วิธีการโอเวอร์โหลดใน Java
วิธีการโอเวอร์โหลดใน Java เป็นหนึ่งในคุณสมบัติที่มีประโยชน์มากที่สุดของภาษาเชิงวัตถุ อนุญาตให้คลาสมีหลายวิธีที่มีชื่อเดียวกัน ความแตกต่างเพียงอย่างเดียวที่เมธอดเหล่านี้มีคือรายการพารามิเตอร์ต่างๆ ที่ส่งผ่านเมธอดเหล่านี้
สามารถเข้าใจได้ในแง่ง่ายด้วยตัวอย่างง่ายๆ การเพิ่มคลาสมีสองวิธีที่ชื่อ add() วิธีหนึ่งมีพารามิเตอร์ int a และ int b ในขณะที่อีกวิธีหนึ่งมีพารามิเตอร์จำนวนเต็มสามตัว ได้แก่ int a, int b และ int c ดังนั้นเมธอด add() จึงเรียกว่าโอเวอร์โหลด

เมธอดที่จะดำเนินการจะขึ้นอยู่กับจำนวนของพารามิเตอร์ที่ส่งผ่านในคำสั่งการเรียกเมธอด เพื่อแสดงตัวอย่าง add(20,30) จะเรียกวิธีการ add() ที่มีพารามิเตอร์สองตัว และ add(10,20,30) จะเรียกวิธีการเพิ่มด้วยพารามิเตอร์สามตัว
วิธีต่างๆ ในการโอเวอร์โหลดวิธีการ
วิธีการโอเวอร์โหลดใน Java สามารถทำได้หลายวิธี ตามที่เราเข้าใจแล้วว่าเป็นรายการของพารามิเตอร์ที่แยกความแตกต่างของทั้งสองวิธีที่มีชื่อเดียวกันใน Java วิธีการต่าง ๆ ของ วิธีการโอเวอร์โหลดใน Java สามารถทำได้โดยการเปลี่ยนแปลงรายการพารามิเตอร์ด้วยวิธีใดวิธีหนึ่งด้านล่าง:
- จำนวนพารามิเตอร์
- ชนิดข้อมูลของพารามิเตอร์
- ลำดับของชนิดข้อมูลของพารามิเตอร์
จำนวนพารามิเตอร์
จากชื่อที่ชัดเจนว่าจะมีจำนวนพารามิเตอร์ที่แตกต่างกันในวิธีการโอเวอร์โหลดซึ่งจะตัดสินว่าวิธีใดที่จะดำเนินการเมื่อเห็นคำสั่งเรียกเมธอด ด้านล่างนี้คือ วิธีการโอเวอร์โหลดใน Java โดยที่จำนวนพารามิเตอร์จะแตกต่างกันไป
วิธีที่ 1: เพิ่ม (int, int)
วิธีที่ 2: เพิ่ม (int, int, int)
คำสั่งเรียกเมธอด add(20,30) จะดำเนินการเมธอดที่ 1 และคำสั่งเรียกเมธอด add(10,20,30) จะดำเนินการเมธอดที่ 2
ชนิดข้อมูลของพารามิเตอร์
ใน การโอเวอร์โหลดเมธอด ประเภทนี้ ใน Java เมธอด java ทั้งสองของคลาสมีชื่อเหมือนกัน และจำนวนพารามิเตอร์จะเท่ากันหรือต่างกันก็ได้ แต่ประเภทข้อมูลของพารามิเตอร์จะต่างกัน
วิธีที่ 1: เพิ่ม (int, int)
วิธีที่ 2: เพิ่ม (int, float)
วิธีที่ 3: เพิ่ม (ลอย, ลอย)
ในวิธีการข้างต้น ชื่อเมธอดเหมือนกัน แต่ชนิดข้อมูลของพารามิเตอร์ต่างกัน ดังนั้นคำสั่งเรียกเมธอด add(2, 5.5) จะดำเนินการเมธอดที่ 2 ในทำนองเดียวกัน add(7.5, 10.25) จะดำเนินการตามวิธีที่ 3
ลำดับของชนิดข้อมูลของพารามิเตอร์
ในการโอเวอร์โหลดเมธอดประเภทนี้ ใน Java ทั้งชื่อเมธอดและจำนวนพารามิเตอร์จะเท่ากัน แต่ความแตกต่างอยู่ที่ลำดับของประเภทข้อมูลของพารามิเตอร์เหล่านี้ ด้านล่างนี้เป็นตัวอย่างของวิธีการโอเวอร์โหลด:
วิธีที่ 1: เพิ่ม (int, float)
วิธีที่ 2: เพิ่ม (ลอย int)
ในที่นี้ การเรียกคำสั่งเพื่อเพิ่ม (100, 75.5) จะเรียกเมธอดที่ 1 เพื่อดำเนินการ และเพิ่ม (55.25, 150) จะดำเนินการตามวิธีที่ 2

ดังนั้นจึงเป็นพารามิเตอร์ในคำสั่งการเรียกที่จะกำหนดวิธีการโอเวอร์โหลดที่จะถูกดำเนินการ
อ่าน: วิธีการโอเวอร์โหลดใน Java
ทำไมเราต้องการวิธีการโอเวอร์โหลดใน Java?
หากโปรแกรมเมอร์ได้สร้างเมธอดใน Java เพื่อดำเนินการบางอย่าง แต่ต่อมาเป็นส่วนหนึ่งของข้อกำหนด โปรแกรมเมอร์ต้องการวิธีการเดียวกันเพื่อดำเนินการกับพารามิเตอร์ที่ต่างกัน ดังนั้นโปรแกรมเมอร์ก็สามารถใช้คุณลักษณะของ เมธอดโอเวอร์โหลดใน Java ได้ วิธีนี้จะช่วยให้โปรแกรมเมอร์สร้างวิธีการทำงานที่คล้ายคลึงกันโดยใช้ชื่อเดียวกันเพื่อไม่ให้จำชื่อในภายหลัง
มาทำความรู้จักข้อดีของการทำ method overloading ใน Java กันดีกว่า
ข้อดีของการดำเนินการวิธีการโอเวอร์โหลดใน Java
ด้านล่างนี้คือข้อดีบางประการของ วิธีการโอเวอร์โหลดใน Java :
- ช่วยเพิ่มความสามารถในการอ่านโค้ดที่เขียน
- เพิ่มความสะอาดให้กับโค้ดที่เขียน
- สามารถใช้กับตัวสร้างได้เช่นกัน เพื่อให้เราสามารถสร้างวัตถุที่แตกต่างกันโดยการส่งผ่านข้อมูลที่แตกต่างกัน
- ช่วยให้โปรแกรมเมอร์มีความยืดหยุ่นในการเรียกวิธีการต่างๆ ที่มีชื่อคล้ายกัน
- วิธีการโอเวอร์โหลดสามารถมีประเภทการส่งคืนที่แตกต่างกัน
ต้องอ่าน: อาชีพใน Java
กฎสำหรับการโอเวอร์โหลดเมธอดใน Java
- กฎข้อแรกคือการเปลี่ยนวิธีการลงนาม ลายเซ็นเมธอดหมายถึงจำนวนอาร์กิวเมนต์ ลำดับของพารามิเตอร์ และชนิดข้อมูลของพารามิเตอร์
- หากเราเปลี่ยนเฉพาะประเภทการส่งคืนของเมธอดโดยคงชื่อเมธอดและอาร์กิวเมนต์ไว้เหมือนเดิม วิธีนี้จะไม่เป็นการโอเวอร์โหลดเมธอด แต่จะทำให้เกิดข้อผิดพลาดในการรวบรวม
จุดสำคัญเกี่ยวกับวิธีการโอเวอร์โหลดใน Java
- โค้ดใดๆ ที่เขียนด้วย Java ไม่สามารถมีเมธอดที่มีชื่อเดียวกันได้ หากเราสร้าง 2 เมธอดที่มีชื่อเดียวกันใน Java จะทำให้เกิดข้อผิดพลาดในการรวบรวม
- สามารถทำได้โดยวิธีการโอเวอร์โหลด การโอเวอร์โหลดเมธอดทำให้โปรแกรมเมอร์สามารถเขียนเมธอดสองวิธีหรือมากกว่าสองเมธอดโดยใช้ชื่อเดียวกัน แต่รายการพารามิเตอร์ต่างกัน
- เมธอดโอเวอร์โหลดใน Java นั้นคล้ายกับคอนสตรัคเตอร์โอเวอร์โหลด ความแตกต่างเพียงอย่างเดียวคือวิธีการโอเวอร์โหลดเกิดขึ้นสำหรับวิธีการที่กำหนดไว้ในคลาส ในขณะที่การโอเวอร์โหลดของคอนสตรัคเตอร์นั้นสำหรับเมธอดคอนสตรัคเตอร์ของคลาส
- ในวิธีการโอเวอร์โหลดใน Java วิธีการโอเวอร์โหลดมีรายการพารามิเตอร์ที่แตกต่างกัน ไม่มีส่วนเกี่ยวข้องกับประเภทการส่งคืนของเมธอด ตัวอย่างเช่น; หากสองเมธอดมีชื่อเหมือนกันและรายการพารามิเตอร์เหมือนกัน แต่มีประเภทการส่งคืนต่างกัน นี่จะไม่ใช่ วิธีการโอเวอร์โหลดใน Java แต่เป็นกรณีที่ไม่ถูกต้อง
วิธีที่ 1 : int Add (ลอย ลอย)
วิธีที่ 2 : ลอย เพิ่ม (ลอย ลอย)
นี่เป็นกรณีที่ไม่ถูกต้องของวิธีการโอเวอร์โหลดเนื่องจากวิธีการ Add() ทั้งสองมีชื่อและรายการพารามิเตอร์เหมือนกัน
ด้านล่างนี้เป็นรหัสที่อธิบายวิธีการโอเวอร์โหลดใน Java:
ผลรวมคลาส{
int ส่วนตัว a;
int ส่วนตัว b;
int ส่วนตัว c;
ส่วนตัว int d;
int สาธารณะเพิ่ม (int a, int b){
int ค;
c=a+b;
กลับค;
}
int เพิ่มสาธารณะ (int a, float b){
int ค;
c=a+b;
กลับค;
}
int สาธารณะเพิ่ม (float a, float b){
int ค;
c=a+b;
กลับค;
}
int เพิ่มสาธารณะ (ลอย a, int b, int c){
int d;
d=a+b+c;
กลับ d;
}
}
โมฆะคงที่สาธารณะหลัก (สตริง[]args)
{
// การสร้างวัตถุของคลาสในวิธีการหลัก
sum obj1 = ผลรวมใหม่ ();
sum1=obj1.add(10,20);
sum2=obj1.add(10,55.5);
sum3=obj1.add(110.5,25.5);

sum4=obj1.add(10,20,30);
}
อ่านเพิ่มเติม: โปรแกรมรูปแบบใน Java
บทสรุป
ในบทความนี้ ได้มีการกล่าวถึง วิธีการโอเวอร์โหลดใน Java อย่างละเอียด โดยจะอธิบายประเภท กฎเกณฑ์ และข้อดีของมัน หัวข้อได้รับการอธิบายในเชิงลึกด้วยความช่วยเหลือของตัวอย่าง แจ้งให้เราทราบในความคิดเห็นหากคุณมีข้อสงสัยเกี่ยวกับการโอเวอร์โหลดใน Java
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Java การพัฒนาซอฟต์แวร์แบบฟูลสแตก โปรดดูประกาศนียบัตร PG ของ upGrad & IIIT-B ด้านการพัฒนาซอฟต์แวร์แบบครบวงจร ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง โครงการมากกว่า 9 โครงการ และการมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักและความช่วยเหลือด้านงานกับบริษัทชั้นนำ