คุณสามารถสืบทอดจากหลายคลาสใน C # ได้หรือไม่?
คุณสามารถสืบทอดจากหลายคลาสใน C # ได้หรือไม่?

วีดีโอ: คุณสามารถสืบทอดจากหลายคลาสใน C # ได้หรือไม่?

วีดีโอ: คุณสามารถสืบทอดจากหลายคลาสใน C # ได้หรือไม่?
วีดีโอ: Should you inherit from object? 2024, ธันวาคม
Anonim

มรดกหลายอย่าง ใน ค ++

มรดกหลายอย่าง เป็นคุณสมบัติของ C++ ที่ไหน คลาสสามารถสืบทอด จากมากกว่า หนึ่งชั้นเรียน . ตัวสร้างของ คลาสที่สืบทอดมา ถูกเรียกในลําดับเดียวกับที่ พวกเขา เป็น ได้รับการถ่ายทอด

ในทำนองเดียวกัน คุณอาจถามว่าอนุญาตให้มีการสืบทอดหลายรายการใน C # หรือไม่

มรดกหลายอย่าง ใน ค# ค# ไม่รองรับ หลายมรดก เพราะพวกเขาให้เหตุผลว่าการเพิ่ม หลายมรดก เพิ่มความซับซ้อนมากเกินไปให้กับ ค# ในขณะที่ให้ประโยชน์น้อยเกินไป ใน ค# ,คลาสเรียนเท่านั้น อนุญาต ถึง สืบทอด จากคลาสผู้ปกครองเดี่ยวซึ่งเรียกว่า single มรดก.

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

ต่อมาอาจมีคนถามอีกว่า คลาสใดสามารถสืบทอดคลาสได้กี่คลาส?

ทั้งสาม ชั้นเรียน ขยายมนุษย์ ระดับ และ สืบทอด ทุ่งนาและวิธีการของมัน แต่เฉพาะ FireArcher และ Warrior ระดับ แทนที่การโจมตี () วิธีการอินสแตนซ์ของHuman ระดับ.

คลาสหนึ่งสามารถมีคลาสพื้นฐานหลายคลาสได้หรือไม่?

เช่น C++, a คลาส can มาจากมากกว่าหนึ่ง คลาสพื้นฐาน ในไพทอน นี้เรียกว่า หลายมรดก . ใน หลายมรดก , คุณสมบัติของ.ทั้งหมด คลาสพื้นฐาน ได้รับการสืบทอดมา ระดับ.

แนะนำ: