อะไรคือความแตกต่างระหว่างการแทนที่เมธอดและการซ่อนเมธอด?
อะไรคือความแตกต่างระหว่างการแทนที่เมธอดและการซ่อนเมธอด?

วีดีโอ: อะไรคือความแตกต่างระหว่างการแทนที่เมธอดและการซ่อนเมธอด?

วีดีโอ: อะไรคือความแตกต่างระหว่างการแทนที่เมธอดและการซ่อนเมธอด?
วีดีโอ: What is the difference between Method Overriding and Method Hiding ? 2024, อาจ
Anonim

ใน วิธีการเอาชนะ เมื่อตัวแปรอ้างอิงคลาสฐานชี้ไปที่วัตถุของคลาสที่ได้รับ มันจะเรียก วิธีการแทนที่ใน คลาสที่ได้รับ ในการซ่อนวิธีการ เมื่อตัวแปรอ้างอิงคลาสฐานชี้ไปที่วัตถุของคลาสที่ได้รับ มันจะเรียก วิธีการที่ซ่อนอยู่ใน คลาสพื้นฐาน

นอกจากนี้ อะไรคือความแตกต่างระหว่างการแทนที่เมธอดและการซ่อนเมธอดใน Java?

วิธีการเอาชนะ , เมื่อซับคลาสมีเหมือนกัน กระบวนการ ที่มีลายเซ็นเดียวกัน ใน คลาสย่อย วิธีการซ่อน , เมื่อซับคลาสมีเหมือนกัน กระบวนการ ชื่อ แต่ แตกต่าง พารามิเตอร์. ในกรณีนี้ คุณไม่ได้ เอาชนะ ผู้ปกครอง กระบวนการ , แต่ ซ่อนตัว มัน.

ประการที่สอง วิธีการที่ซ่อนอยู่ใน C # พร้อมตัวอย่างคืออะไร? คำตอบ: วิธีการซ่อนเกิดขึ้นใน มรดก ความสัมพันธ์เมื่อคลาสฐานและคลาสที่ได้รับมีเมธอดที่มีชื่อเดียวกัน เมื่อเราสร้างวัตถุของคลาสที่ได้รับ มันจะซ่อนเมธอดคลาสพื้นฐาน และจะเรียกเมธอดของมันเอง ซึ่งเรียกว่าเมธอดซ่อน หรือซ่อนชื่อใน C# มรดก.

รู้ยัง เหตุใดจึงใช้การซ่อนเมธอด

มันบอกให้เราใช้คีย์เวิร์ดใหม่เพื่อซ่อนสมาชิกที่สืบทอดมา ดังนั้นโดยการใช้โมดิฟายเออร์ใหม่ในคลาสที่ได้รับ กระบวนการ , มัน ซ่อน การดำเนินการของคลาสฐาน กระบวนการ . นี้เรียกว่า วิธีการซ่อน . ช่วยให้คุณสามารถจัดเตรียมการใช้งานใหม่สำหรับคลาสที่ได้รับ

วิธีการซ่อนคืออะไร?

วิธีการซ่อน หมายถึง subclass ได้กำหนด class กระบวนการ ที่มีลายเซ็นเดียวกันกับคลาส กระบวนการ ในซูเปอร์คลาส ในกรณีนั้น กระบวนการ ของ superclass ถูกซ่อนโดย subclass มีความหมายว่า: รุ่นของ กระบวนการ ที่ดำเนินการจะไม่ถูกกำหนดโดยวัตถุที่ใช้ในการเรียกใช้