مثال على كيفية الاعلان عن الــــ Class باخذ نسخة منة
وبالطبع ظهرت القيمة .... حيث تم تمرير القيمة الخاصة بالمتغير اليه و حفظها بداخله وساعدنا فى ذلك اننا قمنا بالاعرن عن الـــــ Class باستخدام الكلمة New
وبالتالى توجد لدينا نسخة من هذا الــــ Class فى الذاكرة الخاصة بالجهاز Managed Heap وهذ يعنى وجود جميع المتغيرات التى تم الاعلان عنها بداخل الــــــ Class بصورة عامة .
الفئة مثل التركيب يمكننا انشاء اجراءات فرعية بداخلها كما يلى فى الصورة
انظر معى الى الشكل السابق نجد انه بمجرد اخذ نسخة من الــــ Class واردنا التعامل معها لم نتمكن من الوصول الى الاجراء الفرعى الذى قمنا بانشائة و السبب فى ذلك انه عند الاعلان عن الاجراءات الفرعية يكون باحد طريقتين هما : -
الاولى :- الاعلان عن الاجراء الفرعى فى صورة خاصة كما بالصورة السابقة : -
وفى هذه الحالة لن تتم رؤية الاجراء الفرعى داخل الــ Class الذى قمنا بالاعلان عنه ولن نراه اذا اخذنا نسخة من هذا الـــ Class وهذا قد شهدناه فى الصورة السابقة .
الثانية : - الاعلان عن الاجراء الفرعى فى صورة عامة : - وفى هذه الحالة تتم رؤية الاجراء الفرعى من خلال الكلاس عندما نقوم باخذ نسخة منه ونرى ذلك من خلال الصورة التالية :
كما راينا الاعلان عن الاجراءات الفرعية فان الاعلان عن المتغيرات له بعض مميزاته هو الاخر حيث اننا تعرضنا للاعلان عن المتغيرات فى التركيب فى المحاضرة السابقة و لم نستطيع تمرير اية قيم لهذا المتغيرات وقت الاعلان عنها الاانه عند الاعلان عن هذه المتغيرات داخل الـــ Claas فانه يمكننا تمرير قيم لهذه المتغيرات وقت الاعلان عنها كما يلى فى الصورة : -
الا انه هذا المتغير بهذه الصورة يمكننا تغيير قيمته التى تم تمريرها اليه وقت الاعلان عنه لاحظ معى الصورة التالية : -
طيب ماذا لو اردنا الاعلان عن متغير مع تمرير قيمة ولا يمكننا تغيير قيمته فى داخل المشروع لاحظ مع الصورة التالية : -
وبالتالى لا يمكن تمرير قيم الى المتغيرات باستخدام الكملة المحجوزة ReadOnly مهما كان وبالتالى يمكننا حفظ قيم المتغيرات بهذه الطريقة .
وهذا لا يمنع ابد قدرتنا على قراءة قيم هذا المتغيرات حيث يمكننا قراءة قيم هذه المتغيرات كما بالصورة التالية :