คลาสมีสองสมาชิกที่สำคัญ: ตัวแปรสมาชิกและวิธีการ สมาชิกของคลาสย่อยบางส่วนได้รับการประกาศและกำหนดโดยคลาสย่อยเอง ในขณะที่คลาสย่อยอื่นๆ ได้รับการสืบทอดจากคลาสพาเรนต์ คลาสย่อยสืบทอดตัวแปรสมาชิกของคลาสพาเรนต์เป็นหนึ่งในตัวแปรสมาชิกของตัวเอง ราวกับว่าตัวแปรสมาชิกได้รับการประกาศโดยตรงในคลาสย่อย และสามารถดำเนินการได้โดยวิธีอินสแตนซ์ใดๆ ก็ตามที่กำหนดไว้ในคลาสย่อย คลาสย่อยสืบทอดเมธอดของคลาสพาเรนต์เป็นหนึ่งในวิธีการของตัวเอง ราวกับว่าเมธอดนั้นถูกกำหนดโดยตรงในคลาสย่อย และสามารถเรียกได้ด้วยเมธอดอินสแตนซ์ใดๆ ก็ตามที่กำหนดไว้ในคลาสย่อย
การสืบทอดระหว่างคลาสย่อยและคลาสพาเรนต์ในแพ็คเกจเดียวกัน:
ถ้าคลาสย่อยและคลาสพาเรนต์อยู่ในแพ็คเกจเดียวกัน คลาสย่อยจะสืบทอดตัวแปรที่ไม่ใช่ไพรเวตสมาชิกในคลาสพาเรนต์โดยธรรมชาติเป็นตัวแปรสมาชิกของตัวเอง และยังสืบทอดเมธอดที่ไม่ใช่ไพรเวตในคลาสพาเรนต์ตามธรรมชาติเป็นของตัวเองด้วย การเข้าถึงวิธีการ ตัวแปรสมาชิกที่สืบทอด หรือวิธีการยังคงไม่เปลี่ยนแปลง
การสืบทอดเมื่อคลาสย่อยและคลาสพาเรนต์ไม่อยู่ในแพ็คเกจเดียวกัน:
หากคลาสย่อยและคลาสพาเรนต์ไม่อยู่ในแพ็คเกจเดียวกัน ตัวแปรสมาชิกการเข้าถึงส่วนตัวและที่เป็นมิตรในคลาสพาเรนต์จะไม่ได้รับการสืบทอดโดยคลาสย่อย นั่นคือคลาสย่อยจะสืบทอดเฉพาะตัวแปรและวิธีการของสมาชิกที่มีการป้องกันและการเข้าถึงสาธารณะเท่านั้น คลาสพาเรนต์เป็นตัวแปรสมาชิกและวิธีการของคลาสย่อย
คำอธิบายเพิ่มเติมเกี่ยวกับการป้องกัน:
ตัวแปรสมาชิกที่ได้รับการป้องกันและวิธีการในคลาส A สามารถสืบทอดโดยคลาสที่สืบทอดมา ตัวอย่างเช่น ถ้า B เป็นคลาสย่อยของ A, C คือคลาสย่อยของ B และ D คือคลาสย่อยของ C ดังนั้นคลาส B, C และ D ทั้งหมดสืบทอดตัวแปรสมาชิกที่ได้รับการป้องกันและวิธีการของคลาส A
หากคุณสร้างวัตถุใน D เองโดยใช้คลาส D วัตถุจะสามารถเข้าถึงตัวแปรที่ได้รับการป้องกันหรือกำหนดด้วยตนเองและวิธีการป้องกันผ่านทางตัวดำเนินการ "." อย่างไรก็ตาม หากวัตถุนั้นอยู่ในคลาสอื่น เช่น วัตถุอื่น ๆ ถูกสร้างขึ้นโดยใช้คลาส D ในคลาส การอนุญาตของวัตถุนี้ในการเข้าถึงตัวแปรที่ได้รับการป้องกันและวิธีการที่ได้รับการป้องกันผ่านตัวดำเนินการ "" มีดังนี้:
1. สำหรับตัวแปรและวิธีการของสมาชิกที่ได้รับการป้องกันที่ประกาศโดยคลาสย่อย D เอง ตราบใดที่คลาสอื่นและคลาส D อยู่ในแพ็คเกจเดียวกัน อ็อบเจ็กต์อ็อบเจ็กต์สามารถเข้าถึงตัวแปรและวิธีการของสมาชิกที่ได้รับการป้องกันเหล่านี้
2. สำหรับตัวแปรสมาชิกที่ได้รับการป้องกันหรือวิธีการที่ได้รับการป้องกันที่คลาสย่อย D สืบทอดมาจากคลาสหลักนั้นจะต้องมีการติดตามกลับไปยังคลาส "บรรพบุรุษ" ซึ่งมีตัวแปรหรือเมธอดสมาชิกที่ได้รับการป้องกันเหล่านี้อยู่ ตัวอย่างเช่น อาจเป็นคลาส A ตราบใดที่คลาสอื่นและคลาส A อยู่ในแพ็คเกจเดียวกัน วัตถุวัตถุสามารถเข้าถึงตัวแปรที่ได้รับการป้องกันและวิธีการที่ได้รับการป้องกัน