เมื่อพูดถึงการใช้งานมากเกินไปและเขียนทับใน Java ทุกคนคุ้นเคยกับมัน แต่ฉันจะเขียนสิ่งนี้ในวันนี้
หัวข้อของบทความนี้:
1. การโอเวอร์โหลดคืออะไร
2. ความครอบคลุมคืออะไร
3. ความแตกต่างระหว่างสอง
โอเวอร์โหลด:
ในชั้นเรียนถ้าฟังก์ชั่นสองฟังก์ชั่นหรือมากกว่านั้นปรากฏขึ้นตราบใดที่จำนวนพารามิเตอร์หรือประเภทของพารามิเตอร์แตกต่างกันมันสามารถเรียกได้ว่าโอเวอร์โหลดของฟังก์ชัน
นั่นคือเมื่อฟังก์ชั่นมีชื่อเดียวกันดูที่รายการพารามิเตอร์เท่านั้น มันไม่มีส่วนเกี่ยวข้องกับประเภทค่าส่งคืน
ให้ความสนใจเมื่อใช้โอเวอร์โหลด:
1. เมื่อใช้การโอเวอร์โหลดคุณสามารถผ่านสไตล์พารามิเตอร์ที่แตกต่างกันได้เท่านั้น ตัวอย่างเช่นประเภทพารามิเตอร์ที่แตกต่างกันหมายเลขพารามิเตอร์ที่แตกต่างกันและลำดับพารามิเตอร์ที่แตกต่างกัน
2. ประเภทข้อยกเว้นและจำนวนวิธีการจะไม่ส่งผลกระทบต่อการโอเวอร์โหลด
3. สำหรับคลาสหลักคลาสเด็กสามารถโอเวอร์โหลดวิธีที่มีชื่อเดียวกันกับวิธีการสืบทอดในคลาสพาเรนต์ หากวิธีการได้รับอนุญาตการเข้าถึงในชั้นเรียนหลักและเป็น Priavte ก็จะไม่สามารถเกินพิกัดในชั้นเด็กได้ หากมีการกำหนดไว้จะกำหนดวิธีการใหม่เท่านั้นและจะไม่บรรลุผลของการโอเวอร์โหลด
แทนที่:
เมื่อวิธีการเดียวกันปรากฏในคลาสพาเรนต์เด็กการสร้างวัตถุคลาสย่อยจะเรียกใช้วิธีการในคลาสย่อย ดูเหมือนว่าวิธีการในคลาสหลักจะถูกเขียนทับ ดังนั้นสถานการณ์นี้จึงเป็นอีกคุณสมบัติหนึ่งของฟังก์ชั่น: การเขียนทับ
เมื่อใดควรใช้ความคุ้มครอง?
เมื่อคลาสเด็กสืบทอดคลาสหลักเนื้อหาการทำงานของคลาสแม่จะต้องได้รับการแก้ไขมันสามารถนำไปใช้ได้ผ่านการแทนที่
เมื่อครอบคลุมวิธีการให้ความสนใจกับสองคะแนน:
1. เมื่อ subclass แทนที่คลาสแม่มันเป็นสิ่งจำเป็นเพื่อให้แน่ใจว่าการอนุญาตของวิธี subclass จะต้องมากกว่าหรือเท่ากับการอนุญาตของวิธีการคลาสแม่เพื่อให้ได้มรดก มิฉะนั้นการรวบรวมล้มเหลว
2. เมื่อครอบคลุมพวกเขาจะคงที่หรือไม่คงที่ (แบบคงที่สามารถครอบคลุมเฉพาะหรือถูกปกคลุมด้วยสแตติก) ใช่
3. วิธีการแก้ไขขั้นสุดท้ายเป็นวิธีสุดท้ายและไม่สามารถเขียนทับได้
4. เมื่อชั้นเรียนของเด็กแทนที่วิธีการเรียนระดับแม่มันสามารถโยนข้อยกเว้นน้อยกว่าคลาสแม่หรือโยนข้อยกเว้นเด็กของข้อยกเว้นที่ถูกโยนโดยชั้นพาเรนต์เพราะชั้นเด็กสามารถแก้ปัญหาบางอย่างของชั้นเรียนหลักและไม่สามารถมีปัญหาได้มากกว่าชั้นพาเรนต์
ความแตกต่างระหว่างการโอเวอร์โหลดและการเขียนทับ:
1. การแทนที่ของวิธีการคือความสัมพันธ์ระหว่างคลาสย่อยและคลาสหลักซึ่งเป็นความสัมพันธ์แนวตั้ง; การโอเวอร์โหลดของวิธีการคือความสัมพันธ์ระหว่างวิธีการในคลาสเดียวกันซึ่งเป็นความสัมพันธ์แนวนอน
2. การเขียนทับสามารถเกิดขึ้นได้จากวิธีเดียวเท่านั้นหรือด้วยวิธีการหนึ่งคู่เท่านั้น การโอเวอร์โหลดของวิธีการคือความสัมพันธ์ระหว่างหลายวิธี
3. รายการพารามิเตอร์ความต้องการความครอบคลุมเหมือนกัน รายการพารามิเตอร์ความต้องการโอเวอร์โหลดนั้นแตกต่างกัน
4. ในความสัมพันธ์ที่เขียนทับตัวร่างกายวิธีการเรียกว่าตามประเภทของวัตถุ; ความสัมพันธ์ที่โอเวอร์โหลดถูกเลือกตามตารางพารามิเตอร์จริงและตารางพารามิเตอร์อย่างเป็นทางการในเวลาที่โทร
ข้างต้นคือความเข้าใจในเชิงลึกของการโอเวอร์โหลดและความครอบคลุมของ Java ที่นำมาให้คุณโดยบรรณาธิการ ฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น ~