تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس التاسع عشر : ال Encapsulation
#4
كاتب المقال احمد جمال المشرف العام
استخدام ال Type Property :

بنفس الطريقة السابقة ، ولكن بطريقة اخرى واعتماداً على تحويل المتغير إلى خاصية لكل منها دالتان : Set و Get ، يتم كتابة ذلك بالشكل التالي :

C#:
كود :
class Person
{
public int Age
{
get { return Age;}
set
{
if (!(value>100 || value<1))
Age=value;
}
}
}

VB.net:

كود :
public Property Age() As Integer
      Get
          Return Age
      End Get
      Set
          If Not (value > 100 OrElse value < 1) Then
              Age = value

          End If
      End Set
  End Property
End Class


والآن يمكنك الوصول المباشر إلى Age ، ولكن قبل تطبيق اي شيء سيتم استدعاء Set ، وفي حالة طلب شيء سيتم الحصول عليه من Get ، وهو ما يتيح لك التأكد من بيانات الادخال او عمل بعض العمليات على عمليات الاخراج .

لعلك لاحظت ايضاً أن Set و Get هما public لان الخاصية (وليس المتغير في هذه الحالة) المسماه Age هي public ، ولكن منذ .net 2.0 اصبح بامكانك التعديل في معرف الوصول الخاص ب Set او Get على حدة ، بالشكل التالي مثلاً :

C#:

كود :
public int Age
كود :
{
get { return Age; }
protected set { Age = value; }
}

VB.net:

كود :
Public Property Age() As Integer

كود :
Get
      Return Age
  End Get
  Protected Set
      Age = value
  End Set
End Property

إذا كنت ترغب في عمل Read Only Property فيمكنك ازالة الخاصية Set ، أما لو اردت العكس لعمل Write Only Property فأزل الخاصية Get ، هذا المثال ل Read Only Property :

C#:
كود :
public int Age
{
get { return Age; }
}

VB.net:

كود :
Public ReadOnly Property Age() As Integer
    Get
        Return Age
    End Get
End Property
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
الدرس التاسع عشر : ال Encapsulation - بواسطة oneyemenweb2_mybb_import4801 - 11-10-12, 11:57 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم