C # รองรับการสืบทอดหลายรายการหรือไม่
C # รองรับการสืบทอดหลายรายการหรือไม่

วีดีโอ: C # รองรับการสืบทอดหลายรายการหรือไม่

วีดีโอ: C # รองรับการสืบทอดหลายรายการหรือไม่
วีดีโอ: ตำนานกระสือ อมนุษย์ที่มีหัวใจ | หลอนดูดิ EP.38 2024, อาจ
Anonim

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

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

เมื่อพิจารณาถึงสิ่งนี้ C # มีการสืบทอดหลายรายการหรือไม่

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

ในทำนองเดียวกัน เหตุใด. NET จึงไม่รองรับการสืบทอดหลายรายการ สุทธิ และนักออกแบบ Java ก็ได้ ไม่ อนุญาต หลายมรดก เพราะพวกเขาให้เหตุผลว่าการเพิ่ม MI นั้นเพิ่มความซับซ้อนให้กับภาษามากเกินไปในขณะที่ให้ประโยชน์น้อยเกินไป จริงๆ แล้ว ภาษาต่างๆ มีความคาดหวังที่แตกต่างกันสำหรับวิธีการทำงานของ MI

นอกจากนี้ ยังต้องทราบอีกว่า ภาษาโปรแกรมใดที่ไม่สนับสนุนการสืบทอดหลายรายการ

C++ , เสียงกระเพื่อมทั่วไป และภาษาอื่นๆ อีกสองสามภาษารองรับการสืบทอดหลายรายการในขณะที่จาวาไม่รองรับ Java ไม่อนุญาตให้มีการสืบทอดหลายรายการเพื่อหลีกเลี่ยงความกำกวมที่เกิดขึ้น

คุณสามารถสืบทอดหลายคลาสได้หรือไม่?

มรดกหลายอย่าง เป็นคุณลักษณะของแนวคิดเชิงวัตถุ โดยที่ a คลาสสามารถสืบทอด คุณสมบัติมากกว่า หนึ่ง พ่อแม่ ระดับ . ปัญหาเกิดขึ้นเมื่อมีเมธอดที่มีลายเซ็นเหมือนกันทั้งใน super ชั้นเรียน และคลาสย่อย

แนะนำ: