ตัวสร้างโอเวอร์โหลดใน Java
Constructor Overloading คืออะไร Java?
Java การโอเวอร์โหลดตัวสร้างเป็นเทคนิคที่คลาสสามารถมีตัวสร้างจำนวนเท่าใดก็ได้ที่แตกต่างกันในรายการพารามิเตอร์ คอมไพลเลอร์สร้างความแตกต่างให้กับคอนสตรัคเตอร์เหล่านี้โดยคำนึงถึงจำนวนพารามิเตอร์ในรายการและประเภทของพารามิเตอร์เหล่านั้น
ตัวอย่างของ constructors ที่ถูกต้องสำหรับคลาส Account ได้แก่
Account(int a); Account (int a,int b); Account (String a,int b);
2 ตัวอย่าง: เพื่อทำความเข้าใจ Constructor Overloading ใน Java
ขั้นตอน 1) พิมพ์รหัสในตัวแก้ไข
class Demo{
int value1;
int value2;
/*Demo(){
value1 = 10;
value2 = 20;
System.out.println("Inside 1st Constructor");
}*/
Demo(int a){
value1 = a;
System.out.println("Inside 2nd Constructor");
}
Demo(int a,int b){
value1 = a;
value2 = b;
System.out.println("Inside 3rd Constructor");
}
public void display(){
System.out.println("Value1 === "+value1);
System.out.println("Value2 === "+value2);
}
public static void main(String args[]){
Demo d1 = new Demo();
Demo d2 = new Demo(30);
Demo d3 = new Demo(30,40);
d1.display();
d2.display();
d3.display();
}
}
ขั้นตอน 2) บันทึก คอมไพล์ และรันโค้ด
ขั้นตอน 3) ข้อผิดพลาด = ?. ลองและแก้ไขข้อผิดพลาดก่อนดำเนินการขั้นตอนต่อไป Java ตัวสร้างโอเวอร์โหลด
ขั้นตอน 4) ทุกชั้นเรียนมีค่าเริ่มต้น ตัวสร้างใน Java- ตัวสร้างโอเวอร์โหลดเริ่มต้น Java สำหรับ การสาธิตคลาส is การสาธิต()- ในกรณีที่คุณไม่ได้จัดเตรียมตัวสร้างนี้ คอมไพเลอร์จะสร้างมันให้คุณและเตรียมใช้งานตัวแปรให้เป็นค่าเริ่มต้น คุณอาจเลือกที่จะแทนที่ตัวสร้างเริ่มต้นนี้และเริ่มต้นตัวแปรให้เป็นค่าที่คุณต้องการดังที่แสดงในตัวอย่างที่ 1
แต่ถ้าคุณระบุ Constructor แบบพารามิเตอร์ เช่น Demo(int a) และต้องการใช้ Constructor เริ่มต้น Java Demo() คุณจำเป็นต้องระบุมัน
กล่าวอีกนัยหนึ่ง ในกรณีที่คอนสตรัคเตอร์โอเวอร์โหลดของคุณเข้ามา Java ถูกแทนที่ และคุณต้องการใช้ตัวสร้างเริ่มต้น Javaจำเป็นต้องระบุ
ขั้นตอน 5) ไม่มีข้อคิดเห็นบรรทัด # 4-8 บันทึก คอมไพล์ และรันโค้ด
ทำไมเราจึงต้องใช้ Constructor Overloading ใน Java?
การโอเวอร์โหลดคอนสตรัคเตอร์ใน Java อนุญาตให้มี constructor หลายตัวในคลาส โดยแต่ละตัวมีรายการพารามิเตอร์ที่แตกต่างกัน ช่วยเพิ่มความยืดหยุ่นและปรับปรุงประสิทธิภาพของโค้ด
- ความยืดหยุ่นในการสร้างวัตถุ: การโอเวอร์โหลดตัวสร้างช่วยให้คุณสามารถเริ่มต้นวัตถุได้หลายวิธี ขึ้นอยู่กับจำนวนหรือประเภทของพารามิเตอร์
- การใช้รหัสซ้ำ: คุณสามารถนำตรรกะของ constructor กลับมาใช้ใหม่ได้โดยการเรียก constructor ตัวหนึ่งจากอีกตัวหนึ่งโดยใช้คีย์เวิร์ด this()
- ปรับปรุงความสามารถในการอ่าน: คอนสตรัคเตอร์ที่โอเวอร์โหลดช่วยให้โค้ดมีความชัดเจนมากขึ้นด้วยการเสนอตัวเลือกคอนสตรัคเตอร์ที่เฉพาะเจาะจงสำหรับความต้องการการเริ่มต้นที่แตกต่างกัน
- การเริ่มต้นใช้งานแบบเริ่มต้นและกำหนดเอง: การโอเวอร์โหลดของตัวสร้างช่วยให้คุณสามารถสร้างวัตถุทั้งแบบเริ่มต้นและแบบกำหนดค่าเองได้อย่างง่ายดาย
