Skip to main content

คลาสเสมือนคืออะไร?

คลาสเสมือนจริงเป็นคลาสที่จัดสรรเพียงครั้งเดียวในหน่วยความจำเช่นเด็ก ๆ ในชั้นเรียนนั้นใช้เพียงหนึ่งสำเนาของคลาสแม่ที่สร้างขึ้นในหน่วยความจำคลาสคือกลุ่มของวัตถุที่แบ่งปันลักษณะทั่วไปหรือคุณลักษณะการทำเสมือนคลาสให้ภาษาการเขียนโปรแกรมเชิงวัตถุมีความสามารถในการใช้การสืบทอดหลายครั้งเมื่อคลาสแม่รุ่นที่สองหรือมากกว่านั้นมาจากคลาสพื้นฐานบรรพบุรุษร่วมกันขึ้นอยู่กับภาษาการเขียนโปรแกรมคอมพิวเตอร์ที่อ้างอิงคำหลักเสมือนคำหลักที่คล้ายกันหรือไวยากรณ์และความหมายของคลาสนั้นใช้เพื่อบอกเป็นนัยว่าคลาสเฉพาะจะต้องได้รับการพิจารณาเสมือนจริง

ไม่ใช่ภาษาการเขียนโปรแกรมที่เน้นวัตถุทั้งหมดคือเมื่อคลาสเด็กสามารถได้มาจากหลายคลาสแม่ในเวลาเดียวกันในภาษาการเขียนโปรแกรมเช่น C ++ คลาสสามารถสืบทอดข้อมูลสมาชิกทั้งหมดและฟังก์ชั่นสมาชิกจากทั้งคลาสแม่ในครั้งเดียวและสามารถเข้าถึงทั้งชุดข้อมูลและฟังก์ชั่นภาษาอื่น ๆ ที่รองรับการสืบทอดหลายอย่าง ได้แก่ Perl, Python, TCL และ Eiffel

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

เนื่องจากความกำกวมที่เกิดจากสำเนาของปู่ย่าตายายหลายแห่งในหน่วยความจำคอมไพเลอร์ไม่สามารถตรวจสอบได้ว่าสำเนาของปู่ย่าตายายที่หลานควรใช้เพื่อเข้าถึงข้อมูลหรือฟังก์ชั่นของปู่ย่าตายายเพื่อแก้ไขสถานการณ์นี้ใน C ++ ปู่ย่าตายายถูกสร้างขึ้นในชั้นเรียนเสมือนจริงเมื่อประกาศผู้ปกครองสิ่งนี้ทำให้คอมไพเลอร์สร้างสำเนาของปู่ย่าตายายเพียงหนึ่งฉบับในหน่วยความจำที่ผู้ปกครองทั้งสองแบ่งปันเมื่อปู่ย่าตายายได้กลายเป็นคลาสเสมือนจริงแล้วคอมไพเลอร์ไม่มีปัญหาในการตัดสินใจว่าหลานควรเข้าถึงปู่ย่าตายายได้อย่างไรเพราะมีสำเนาของปู่ย่าตายายเพียงฉบับเดียวในหรือกลายเป็นฐานสำหรับลำดับชั้นที่ใหญ่กว่ามากในอนาคตการใช้ประโยชน์อย่างเหมาะสมของคลาสเสมือนจริงจะช่วยให้ลำดับชั้นของชั้นเรียนมีละติจูดมากขึ้นในการพัฒนาอย่างไรก็ตามพวกเขามีศักยภาพที่จะทำให้เกิดข้อผิดพลาดที่ยากต่อการค้นหาการศึกษาหลักการวิศวกรรมการเขียนโปรแกรมคอมพิวเตอร์ที่เป็นของแข็งจะช่วยให้มั่นใจว่าผลข้างเคียงที่ไม่คาดคิดจากองค์กรโปรแกรมที่ไม่เหมาะสมไม่เกิดขึ้น