เนื้อหา
ความแตกต่างหลัก
Single Inheritance ได้รับการกำหนดให้เป็นคลาสที่ได้รับที่ใช้ในการสืบทอดคุณสมบัติและลักษณะของมันจากคลาสพาเรนต์เดียวที่มีคุณสมบัติทั้งหมดที่จำเป็นสำหรับโปรแกรมที่จะเรียกใช้ การสืบทอดหลายรายการได้รับการกำหนดเป็นประเภทที่ใช้โดยภาษาโปรแกรมคอมพิวเตอร์เชิงวัตถุหลักโดยที่คุณลักษณะที่มีอยู่ภายในวัตถุแม่หรือคลาสสามารถส่งผ่านไปยังวัตถุหรือคลาสใหม่ได้
แผนภูมิเปรียบเทียบ
รากฐาน | มรดกเดียว | หลายมรดก |
คำนิยาม | คลาสที่ได้รับมาใช้ในการสืบทอดคุณสมบัติและธรรมชาติของมันจากคลาสพาเรนต์เดียวที่มีคุณสมบัติทั้งหมดที่จำเป็นสำหรับโปรแกรมที่จะเรียกใช้ | ชนิดที่ใช้โดยภาษาโปรแกรมคอมพิวเตอร์เชิงวัตถุหลักซึ่งคุณสมบัติที่มีอยู่ภายในวัตถุแม่หรือคลาสสามารถส่งไปยังวัตถุหรือคลาสใหม่ได้ |
ฐาน | คลาสที่ได้รับได้รับฐานเดียว | คลาสที่ได้รับได้รับสองคลาสหรือมากกว่าสองคลาสพื้นฐาน |
เข้าไป | คลาสที่ได้รับจะเข้าถึงคุณสมบัติของไฟล์ที่สัมพันธ์กับมันเสมอ | คลาสที่ได้รับจะเข้าถึงคุณสมบัติทั้งหมดของคลาสพื้นฐานที่เชื่อมต่ออยู่ |
ธรรมชาติ | เครือข่ายสาธารณะส่วนตัวและได้รับการป้องกัน | เครือข่ายสาธารณะส่วนตัวและได้รับการป้องกัน |
พฤติกรรม | พฤติกรรมนี้ยังคงเหมือนเดิม | พฤติกรรมกลายเป็นส่วนผสมของทั้งพ่อและแม่ |
มรดกเดียว
Single Inheritance ได้รับการกำหนดให้เป็นคลาสที่ได้รับที่ใช้ในการสืบทอดคุณสมบัติและลักษณะของมันจากคลาสพาเรนต์เดียวที่มีคุณสมบัติทั้งหมดที่จำเป็นสำหรับโปรแกรมที่จะเรียกใช้ ช่วยในการสืบทอดคุณสมบัติสำหรับคลาสที่ได้รับและลักษณะของคลาสพื้นฐานจากนั้นเปิดการใช้งานโค้ดอีกครั้งและเพิ่มคุณสมบัติใหม่ให้กับระบบที่มีอยู่ Single Inheritance ให้อำนาจคลาสที่อนุมานเพื่อรับคุณสมบัติและความประพฤติจากคลาสพาเรนต์แยกต่างหาก มันช่วยให้เข้าใจถึงระดับที่จะซื้อคุณสมบัติและพฤติกรรมของคลาสพื้นฐานในภายหลังเพิ่มขีดความสามารถในการใช้รหัสและเพิ่มส่วนประกอบใหม่ให้กับระบบปัจจุบัน มันทำให้ระบบมีประสิทธิภาพมากขึ้นและซ้ำซ้อนน้อยลง การสืบทอดเป็นหนึ่งในองค์ประกอบสำคัญของการประท้วงจัดโปรแกรม (OOP) การสืบทอดเดี่ยวมีความปลอดภัยมากกว่ามรดกจำนวนมากหากดึงเข้ามาใกล้กว่าวิธีที่ถูกต้อง นอกจากนี้ยังช่วยให้ชั้นเรียนที่กำหนดเพื่อเรียกการใช้งานระดับผู้ปกครองสำหรับกลยุทธ์เฉพาะถ้าเทคนิคนี้ได้รับการยกเลิกในชั้นสรุปหรือผู้สร้างชั้นผู้ปกครอง เมื่อถึงเวลาที่ชั้นเรียนขยายอีกระดับหนึ่ง ณ จุดนั้นเราเรียกมันว่าเป็นมรดกที่โดดเดี่ยว แผนภูมิใต้สตรีมแสดงให้เห็นว่าคลาส B ขยายเพียงประเภทเดียวคือ A ที่นี่ A จะเป็นคลาสแม่ของ B และ B จะเป็นคลาส tyke ของ A. แนวคิดการสืบทอดถูกใช้เป็นส่วนหนึ่งของภาษาโปรแกรมหลายแห่งรวมถึง C ++, Java, PHP, C # และ Visual Basic Java และ C # เพิ่มขีดความสามารถในการสืบทอดเดี่ยวในขณะที่ภาษาถิ่นที่แตกต่างกันเช่น C ++ หนุนการสืบทอดหลายอย่าง
หลายมรดก
การสืบทอดหลายรายการได้รับการกำหนดเป็นคลาสที่ใช้โดยภาษาโปรแกรมคอมพิวเตอร์เชิงวัตถุหลักโดยที่คุณสมบัติที่มีอยู่ภายในวัตถุแม่หรือคลาสสามารถส่งผ่านไปยังวัตถุหรือคลาสใหม่และกระบวนการสืบทอดเสร็จสมบูรณ์ด้วยคุณสมบัติใหม่ที่เพิ่มเข้ามา Multiple Inheritance เป็นส่วนประกอบของภาษาที่ใช้ในการตั้งโปรแกรมการประท้วงซึ่งคำถามหรือคลาสสามารถรับคุณลักษณะและองค์ประกอบจากการประท้วงของผู้ปกครองหรือชั้นผู้ปกครองมากกว่าหนึ่งคน มันเป็นสิ่งที่ไม่ผิดเพี้ยนจากการสืบทอดเดี่ยวซึ่งคลาสผู้ประท้วงอาจได้รับจากคำถามหรือคลาสที่เฉพาะเจาะจง องค์ประกอบมรดกที่แตกต่างกันของการประท้วงบางส่วนได้จัดโปรแกรมภาษาถิ่นที่ชั้นเรียนหรือหัวเรื่องได้รับคุณลักษณะและคุณสมบัติจากชั้นผู้ปกครองหรือการประท้วงมากกว่าหนึ่งชั้น มันอยู่ในความขัดแย้งกับทรัพย์สินมรดกเดียวซึ่งช่วยให้การสาธิตหรือชั้นเรียนที่จะได้รับจากคำถามหรือชั้นเรียนหนึ่งโดยเฉพาะ แม้ว่าจะมีข้อได้เปรียบบางอย่างที่เกี่ยวข้องกับการรับมรดกหลายประการ แต่ก็เพิ่มความไม่แน่นอนและลักษณะหลายแง่มุมเมื่อไม่ได้ระบุหรือดำเนินการอย่างเหมาะสม การสืบทอดการดำเนินการที่แตกต่างกันคือความสามารถในการรับนิยามเทคนิคจากคลาสต่างๆ ปัญหาเกิดขึ้นกับการสืบทอดประเภทนี้มากมายเช่นการปะทะกันของชื่อและความกำกวม ในทำนองเดียวกันวิศวกรซอฟต์แวร์สามารถนำเสนอการต่อสู้ชื่อโดยไม่รู้ตัวโดยการเพิ่มเทคนิคอื่นในซูเปอร์คลาส กลยุทธ์เริ่มต้นแสดงการใช้งานที่แตกต่างกันประเภทหนึ่ง คลาสสามารถทำให้เป็นจริงมากกว่าหนึ่งอินเทอร์เฟซซึ่งสามารถประกอบด้วยนโยบายเริ่มต้นที่มีชื่อคล้ายกัน คอมไพเลอร์ Java มีหลักการสองสามข้อในการพิจารณาว่าระบบเริ่มต้นใดที่ใช้การจ้างงานในชั้นเรียนที่แตกต่างกัน
ความแตกต่างที่สำคัญ
- Single Inheritance ได้รับการกำหนดให้เป็นคลาสที่ได้รับที่ใช้ในการสืบทอดคุณสมบัติและลักษณะของมันจากคลาสพาเรนต์เดียวที่มีคุณสมบัติทั้งหมดที่จำเป็นสำหรับโปรแกรมที่จะเรียกใช้ การสืบทอดหลายรายการได้รับการกำหนดเป็นประเภทที่ใช้โดยภาษาโปรแกรมคอมพิวเตอร์เชิงวัตถุหลักโดยที่คุณลักษณะที่มีอยู่ภายในวัตถุแม่หรือคลาสสามารถส่งผ่านไปยังวัตถุหรือคลาสใหม่ได้
- คลาสที่ได้รับได้รับคลาสฐานเดียวเมื่อมันมาถึงการสืบทอดเดี่ยว ในทางกลับกันคลาสที่ได้รับจะมีคลาสพื้นฐานสองคลาสหรือมากกว่าสองคลาส
- คลาสที่ได้รับสำหรับการสืบทอดเดี่ยวเข้าถึงคุณลักษณะของไฟล์ที่สัมพันธ์กันเสมอ ในทางกลับกันคลาสที่ได้รับสำหรับการสืบทอดหลายครั้งจะสามารถเข้าถึงคุณลักษณะทั้งหมดของคลาสพื้นฐานที่เชื่อมต่อได้
- ทั้งการสืบทอดเดี่ยวและหลายรายการมีปัจจัยการมองเห็นที่เหมือนกันดังนั้นจึงมีเครือข่ายสาธารณะส่วนตัวและได้รับการป้องกัน
- เวลาดำเนินการสำหรับกระบวนการสืบทอดเดี่ยวต้องใช้เวลาเล็กน้อยในการดำเนินงานที่แตกต่างกันให้เสร็จสมบูรณ์ ในขณะที่เวลาการทำงานสำหรับกระบวนการสืบทอดหลายกระบวนการต้องใช้เวลามากขึ้นในการดำเนินการตามกระบวนการให้เสร็จสิ้น
- พฤติกรรมสำหรับการสืบทอดเดี่ยวยังคงเหมือนเดิม ในขณะที่พฤติกรรมของการสืบทอดหลายอย่างกลายเป็นส่วนผสมของทั้งพ่อและแม่