คลาสสามารถมีคอนสตรัคเตอร์ได้กี่คลาสใน c?

คลาสสามารถมีคอนสตรัคเตอร์ได้กี่คลาสใน c?
คลาสสามารถมีคอนสตรัคเตอร์ได้กี่คลาสใน c?
Anonim

มี สามารถกำหนดคอนสตรัคเตอร์ได้มากกว่าหนึ่งตัว ในชั้นเรียน สิ่งนี้เรียกว่าการโอเวอร์โหลดคอนสตรัคเตอร์ โดยปกติจะมีตัวสร้างที่ไม่มีพารามิเตอร์ (ไม่มีสิ่งใดในวงเล็บตามชื่อของตัวสร้าง) เช่นเดียวกับตัวสร้างโลกด้านบน สิ่งนี้เรียกว่าคอนสตรัคเตอร์ที่ไม่มีอาร์กิวเมนต์

มีตัวสร้างกี่ตัวในชั้นเรียน

พูดตามตรง รูปแบบไฟล์คลาส JVM จำกัดจำนวนวิธี (รวมถึงตัวสร้างทั้งหมด) สำหรับคลาสให้น้อยกว่า 65536 และตาม Tom Hawtin ขีดจำกัดที่มีผลคือ 65527. แต่ละวิธีลายเซ็นตรงบริเวณช่องในกลุ่มคงที่

ชั้นเรียนมีตัวสร้างหลายตัวได้ไหม

เทคนิคการมีคอนสตรัคเตอร์สองตัว (หรือมากกว่า) ในคลาสเรียกว่าคอนสตรัคเตอร์โอเวอร์โหลด คลาสสามารถมีคอนสตรัคเตอร์ได้หลายตัว ที่แตกต่างกันในจำนวนและ/หรือประเภทของพารามิเตอร์ อย่างไรก็ตาม เป็นไปไม่ได้ที่จะมีตัวสร้างสองตัวที่มีพารามิเตอร์เหมือนกันทุกประการ

เรามีตัวสร้างมากกว่าหนึ่งตัวในชั้นเรียนใน C ได้ไหม

ใน C++ เราสามารถมีตัวสร้างมากกว่าหนึ่งตัวในชั้นเรียนที่มีชื่อ same ตราบใดที่แต่ละรายการมีรายการอาร์กิวเมนต์ต่างกัน แนวคิดนี้เรียกว่า Constructor Overloading และค่อนข้างคล้ายกับฟังก์ชันโอเวอร์โหลด

เรียกช่างก่อสร้างได้ไหม

เรียกตัวสร้างจากเมธอด

ไม่ คุณไม่สามารถเรียกตัวสร้างจากวิธีการ ที่เดียวที่คุณสามารถเรียกใช้ Constructor โดยใช้ "this" หรือ "super" คือบรรทัดแรกของ Constructor อื่น หากคุณพยายามเรียกใช้คอนสตรัคเตอร์ในที่อื่นอย่างชัดแจ้ง จะเกิดข้อผิดพลาดในการคอมไพล์ขึ้น