اخواني الاعزاء
سؤال مهم... متى نستخدم protected و متى نستخدم Private وما الفرق بينهما و بمثال بسيط للفهم.
و تجعلوني شاكرا لكم
اخواني الاعزاء
سؤال مهم... متى نستخدم protected و متى نستخدم Private وما الفرق بينهما و بمثال بسيط للفهم.
و تجعلوني شاكرا لكم
كلاهما يعمل بنفس الالية لكن Protected يمكن الوصول إليها عن طريق الوراثة أما Private فهي معزولة ضمن مجالها ولايمكن الوصول إليها إلا من Code المجال الخاص بها.
مثال، لدينا صف فيه متغيّر اسمه PIVal نوعه double قيمته تساوي 3.14:
public class MyMath
{
protected double PIVal = 3.14;
}
public class IMyMath : MyMath
{
public double PI {
get { return PIVal; }
}
}لاحظ أننا يمكننا الوصول إلى المتغيّر وذلك لأننا قمنا بوراثة الصف MyMath ضمن الصف IMyMath، لكن لو عرفنا PIVal بواسطة التصريح Private لماكنا لنصل إليه ونقوم بقراءة قيمته.
بالتوفيق.
The important thing is not so much
that every child should be taught,
as that every child should be given the wish to learn.
شكرا يا عزيزي بشار على طيبة اخلاقك
في سؤال اخر ما هي اهمية الاحتواء (containment) و متى نستعملها؟
السلام عليكم ورحمه الله وبركاته
اخي الفرق الأساسي بين الـ Modifiers Private و Public هو ان اي نوع معرف Private تكون مجال رؤيته على مستوى المكان المعرف فيه, ولكن اي نوع معرف من النوع الثاني تكون مجال رؤيته على مستوى المكان المعرف فيه بالإضافة انه يظهر في جميع الانواع التي تشتق منه (ترثه)
اما بالنسبة لمفهوم الـ Containment هو مفهوم مقارب للـ Aggregation فكليهما علاقة كل بجزء فمثال على الثاني ان السيارة تحتوي على عجلات و بعض الاجزاء الاخرى ولكن اذا كانت العجلات والاجزاء الاخرى غير موجوده تسمى سيارة اي ان الجزء لا يؤثر على الكل وهذا هو عكس مفهوم الـ Containment حيث ان جسم الانسان يحتوي على قلب واجزاء ااخرى ولكن اذا ماتت هذه الاعضاء مات الانسان اي ان الاجزاء تؤثر في الكل
.:: Wish to become better and better ::.