عند كتابة فئة فرعية، لا يزال بإمكاننا الإعلان عن متغيرات الأعضاء. والحالة الخاصة هي أن اسم متغير العضو المعلن هو نفس اسم متغير العضو الموروث من الفئة الأصلية، وقد يكون النوع المعلن مختلفًا في هذه الحالة، ستقوم الفئة الفرعية بإخفاء متغيرات الأعضاء الموروثة.
خصائص الفئات الفرعية التي تخفي متغيرات الأعضاء الموروثة هي كما يلي:
(1) تعمل كائنات وأساليب الفئة الفرعية التي تحددها الفئة الفرعية نفسها على تشغيل متغيرات الأعضاء بنفس اسم الفئة الأصلية، والتي تشير إلى متغير العضو الذي أعيد تعريفه بواسطة الفئة الفرعية.
(2) لا يزال بإمكان كائنات الفئة الفرعية استدعاء الأساليب الموروثة من الفئة الأصلية لتشغيل متغيرات الأعضاء المخفية بواسطة الفئة الفرعية. وهذا يعني أن متغيرات الأعضاء التي يتم تشغيلها بواسطة الأساليب الموروثة من الفئة الفرعية يجب أن تكون متغيرات أعضاء موروثة أو مخفية بواسطة الفئة الفرعية.
يلاحظ:
يمكن للطرق الموروثة من الفئات الفرعية أن تعمل فقط على متغيرات الأعضاء الموروثة والمخفية من الفئات الفرعية. يمكن للطريقة المعرفة حديثًا بواسطة فئة فرعية أن تعمل على متغيرات الأعضاء الموروثة من الفئة الفرعية والمعلنة حديثًا بواسطة الفئة الفرعية، ولكن لا يمكنها العمل على متغيرات الأعضاء المخفية بواسطة الفئة الفرعية.
يمكن للفئات الفرعية إخفاء الأساليب الموروثة عن طريق تجاوزها، ويسمى تجاوز الطريقة أيضًا بتجاوز الطريقة. إذا كان بإمكان فئة فرعية أن ترث طريقة من الفئة الأصلية، فإن الفئة الفرعية لها الحق في تجاوز هذه الطريقة. يشير تجاوز الطريقة إلى تحديد طريقة في فئة فرعية، ويتوافق نوع هذه الطريقة مع نوع طريقة الفئة الأصلية أو نوع فرعي من نوع طريقة الفئة الأصلية، واسم الطريقة. عدد المعلمات ونوع المعلمات وأساليب الفصل الأصلي هي نفسها تمامًا. الطريقة التي يتم تعريفها بهذه الطريقة بواسطة فئة فرعية تسمى الطريقة التي تم تجاوزها بواسطة الفئة الفرعية وليست طريقة جديدة.
يمكن للفئات الفرعية إخفاء الأساليب الموروثة من خلال إعادة كتابة الطريقة، وتغيير حالة وسلوك الفئة الأصلية إلى حالتها الخاصة. إذا كان من الممكن وراثة طريقة الفئة الأصلية f() بواسطة الفئة الفرعية، فإن الفئة الفرعية لها الحق في تجاوز f(). بمجرد أن تتجاوز الفئة الفرعية طريقة الفئة الأصلية f()، تكون الطريقة الموروثة f() مخفية. ثم للفئة الفرعية الحق في تجاوز f () عندما يستدعي كائن فئة الطريقة f ()، يجب أن يستدعي الطريقة التي تم تجاوزها f (). إذا لم يتم تجاوز الفئة الفرعية، ولكنها ورثت الطريقة f() للفئة الأصلية، فبالطبع يمكن للكائن الذي تم إنشاؤه بواسطة الفئة الفرعية استدعاء طريقة f()، ولكن السلوك الذي تنتجه الطريقة f() هو نفسه أن الطبقة الأم.
لا يمكن للطريقة المتجاوزة تشغيل متغيرات الأعضاء الموروثة واستدعاء الأساليب الموروثة فحسب، بل يمكنها أيضًا تشغيل متغيرات الأعضاء المعلنة حديثًا للفئة الفرعية واستدعاء أساليب أخرى محددة حديثًا، ولكنها لا تستطيع تشغيل متغيرات الأعضاء والأساليب المخفية بواسطة الفئة الفرعية. إذا أرادت فئة فرعية استخدام الأساليب المخفية أو متغيرات الأعضاء، فيجب عليها استخدام الكلمة الأساسية super.
يلاحظ:
عند تجاوز طريقة من فئة الأصل، لا يُسمح لك بتقليل حقوق الوصول للطريقة، ولكن يمكنك زيادة حقوق الوصول. ترتيب معدّلات تقييد الوصول من حقوق الوصول الأعلى إلى حقوق الوصول المنخفضة هو: عام، محمي، ودود،. خاص. على سبيل المثال: تتجاوز الفئة الفرعية الطريقة f للفئة الأصلية. إذن الوصول لهذه الطريقة في الفئة الأصلية هو المستوى المحمي.