الوقت/التاريخ الآن هو الجمعة أبريل 26, 2024 6:32 pm

1 نتيجة بحث عن Inner_classes

التعامل مع الفئات الداخلية Inner Class

أهلا بكم

الفئات الداخلية #Inner_classes أو الفئات المتداخلة #nested_classes هى الفئات التى يتم بنائها بداخل فئة اخري وتسمى الفئة التي تحمل الفئة الداخلية بالفئة الخارجية #outer_class ... والفئة الداخلية Inner_class لها علاقة خاصة مع الفئة الخارجية. تتيح هذه العلاقة الخاصة للفئة الداخلية الوصول إلى عنصر من الفئة الخارجية كما لو كانت جزءًا من الطبقة الخارجية.


تنقسم الفئات الداخلية إلى نوعين -

فئات متداخلة غير ثابتة - Non-static nested classes 

فئات متداخلة ثابتة - Static nested classes

الوسم inner_classes على المنتدى منتدى مصر التقني Inner_classes

ملاحظة: تتمتع فئة #Inner_class بحق الوصول إلى جميع أعضاء الفئة الخارجية (العامة والخاصة والمحمية)

بناء جملة لإنشاء Inner Class

الكود:
//outer class
class OuterClass {
//inner class
class InnerClass {
    }
}





كيفية الوصول إلى الطبقة الداخلية

لا يمكن الوصول إلى الطبقة الداخلية إلا من خلال نسخة من الطبقة الخارجية...وذلك فى حالتين :


1_الوصول للفئة الداخلية من داخل الفئة الخارجية :

يمكن للفئة الخارجية إنشاء مثيل للفئة الداخلية بنفس طريقة الفئة العادية...وذلك على النحو التالى :

الكود:
class OuterClass {
private int i = 9;

// Creating instance of inner class and calling inner class function
public void createInner() {
InnerClass i1 = new InnerClass();
i1.getValue();
}

// inner class declarataion
class InnerClass {
public void getValue() {
// accessing private variable from outer class
System.out.println("value of i -" + i);
}
}
}


2__الوصول للفئة الداخلية من خارج الفئة الخارجية :

قم بإنشاء مثيل فئة خارجية ثم مثيل فئة داخلية

الكود:
class MainClass {
public static void main(String[] args) {
// Creating outer class instance
OuterClass outerclass = new OuterClass();
// Creating inner class instance
OuterClass.InnerClass innerclass = outerclass.new InnerClass();
// Classing inner class method
innerclass.getValue();
}
}


يمكن أيضا استبدال رمز أعلاه مع الرمز التالى :

الكود:
OuterClass.InnerClass innerClass = new OuterClass.new InnerClass();


محدادت الوصول

ستتم معاملة الطبقة الداخلية العادية كعضو في الطبقة الخارجية بحيث يمكن أن تحتوي على عدة محدادات الوصول على النحو التالى :


  • final
  • abstract
  • public
  • private
  • protected
من طرف زهراء
في الأربعاء يناير 15, 2020 5:54 pm
 
ابحث في: أساسيات اللغة Java Basics
موضوع: التعامل مع الفئات الداخلية Inner Class
المساهمات: 0
مشاهدة: 783

الرجوع الى أعلى الصفحة

انتقل الى: