โอเวอร์โหลด (วิธีการเลือกโหลดซ้ำ):
Java อนุญาตให้มีหลายวิธีในคลาสที่มีชื่อเดียวกัน แต่เมื่อชื่อเหมือนกันต้องมีพารามิเตอร์ที่แตกต่างกัน ข้อผิดพลาดเวลาในการรวบรวมจะเกิดขึ้นโดยไม่ต้องจับคู่พารามิเตอร์หรือค้นหาการจับคู่ที่เป็นไปได้หลายครั้ง
การโอเวอร์โหลดรวมถึง: การโอเวอร์โหลดของวิธีการทั่วไปและการใช้วิธีการสร้างมากเกินไป
วิธีการ: นั่นคือฟังก์ชั่น (ซึ่งเราเรียกรวมกันในข้อความ "วิธี") เป็นเซ็กเมนต์โปรแกรมคงที่หรือรูทีนย่อยซึ่งสามารถตระหนักถึงฟังก์ชั่นการทำงานคงที่ นอกจากนี้ยังมีทางเข้าและทางออก เรียกว่าออกหมายถึงฟังก์ชัน
โดยทั่วไปคลาสสามารถมีวิธีการโอเวอร์โหลดหลายวิธีและวิธีการโอเวอร์โหลดที่แตกต่างกันในชั้นเรียนสามารถออกแบบได้ตามความต้องการที่แตกต่างกัน ในหมู่พวกเขาจำนวนพารามิเตอร์ประเภทและแม้กระทั่งลำดับของพารามิเตอร์ประเภทต่าง ๆ นั้นมีการโอเวอร์โหลดที่แตกต่างกันสำหรับวิธีเดียวกัน ตัวอย่างเช่นดังที่แสดงในรูปคลาสสตริงที่เรามักจะเห็นว่าเป็นตัวอย่างทั่วไป
ปล. ตัวอย่างนี้ยังแก้ไขความผิดพลาดที่ไร้สาระที่ฉันทำเมื่อฉันแบ่งปันประสบการณ์ครั้งสุดท้าย ตรวจสอบชื่ออีกครั้งนั่นหมายความว่าถูกต้องมันเป็นโอเวอร์โหลดและไม่ได้เขียนเป็นการเขียนใหม่
วิธี/ขั้นตอน
ก่อนอื่นมาเขียนตัวอย่างที่สมบูรณ์ นี่เป็นวิธีดั้งเดิมที่สุดดังที่แสดงในรูป เราจะเรียนรู้แต่ละขั้นตอนต่อไปในอนาคตและโหลดวิธีการนี้ใหม่โดยเลเยอร์
1. ในตอนแรกเรามาพูดคุยกันว่าตัวดัดแปลงการเข้าถึงมีผลกระทบต่อการอภิปรายของวันนี้หรือไม่ นั่นคือพวกเขาไม่จำเป็นต้องมีเงื่อนไขสำหรับวิธีการที่แตกต่างกัน ในแง่ของ Layman ความแตกต่างในวิธีการไม่มีส่วนเกี่ยวข้องกับว่าตัวดัดแปลงการเข้าถึงนั้นสอดคล้องกันหรือไม่ ดังที่แสดงในรูปถ้าตัวดัดแปลงการเข้าถึงไม่สอดคล้องกันและพารามิเตอร์จะเหมือนกัน (หรือไม่มีของพวกเขามีพารามิเตอร์) ค่าเริ่มต้นของ Java เป็นวิธีเดียวกันดังนั้นการรวบรวมไม่สามารถส่งผ่านและมีการรายงานข้อผิดพลาด
2. หลังจากไม่รวมตัวดัดแปลงการเข้าถึงเรามาพูดคุยกันว่าความแตกต่างของค่าผลตอบแทนอาจเป็นอีกวิธีหนึ่งของการโอเวอร์โหลดหรือไม่ พิมพ์
3. ความแตกต่างเพียงอย่างเดียวคือพารามิเตอร์ มาฝึกฝนตามสถานการณ์ อันแรกคือพารามิเตอร์ที่แตกต่างกัน
4. ในขั้นตอนที่สามเรากำลังพูดถึงพารามิเตอร์ที่แตกต่างกัน ดังที่แสดงในรูปประเภทพารามิเตอร์จะเหมือนกันและเป็นทั้งสองประเภทจำนวนเต็ม แต่ชื่อของพารามิเตอร์ที่เป็นทางการแตกต่างกันดังนั้นการรวบรวมไม่สามารถผ่านได้
5. นอกจากนี้การโอเวอร์โหลดที่เกิดจากพารามิเตอร์ที่แตกต่างกัน เราสามารถเขียนตัวอย่างอื่นได้ 1 วิธีการแบบไม่มีพารามิเตอร์วิธีการพารามิเตอร์ 1 int และวิธีพารามิเตอร์ int สองวิธีดังแสดงในรูป:
6. ในเวลานี้เราได้มาถึงลิงค์คีย์แล้ว มีการโอเวอร์โหลดที่แตกต่างกันอีกหรือไม่? บาง! ลองนึกภาพว่าพารามิเตอร์แตกต่างกันและตัวเลขเหมือนกัน ใช่! เดาได้อย่างถูกต้อง! คำสั่งซื้อแตกต่างกัน! ในคำสั่งซื้อที่แตกต่างกันยังมีวิธีการที่แตกต่างกันซึ่งยังช่วยให้การโอเวอร์โหลด ดังที่แสดงในภาพ:
นี่เป็นอีกตัวอย่างง่ายๆ
int sum (int m, int n) {return m +n;} int sum (int m, int n, int k) {return m +n +k;} ผลรวมสองครั้ง (สอง m, double n) {return m + n;} ผลรวมสองครั้ง (double m, double n, double k) {return m+n+k;} การใช้งานหลักคือผลรวมวิธีการโอเวอร์โหลดซึ่งมีความหมายต่อไปนี้:
ผลรวม (M, N): ค้นหาผลรวมของจำนวนเต็ม M และ N,
ผลรวม (M, N, K): ค้นหาผลรวมของจำนวนเต็ม M, N และ K,
ผลรวม (m, n): ค้นหาผลรวมของจำนวนจริง m และ n,
ผลรวม (M, N, K): ค้นหาผลรวมของจำนวนจริง M, N และ K
ในที่สุดขอสรุปว่าการโอเวอร์โหลดเพียงแค่ใส่ใจเกี่ยวกับพารามิเตอร์เท่านั้น