انا حاليا ادرس البرمجة كائنية التوجه و صادفت هذا مصطلح Automatic properties
ما هو مفهوم الخصائص تلقائية ( Automatic properties ) في البرمجة الكائنية و دورها
الخاصية هي عبارة عن بوابة للتحكم بإدخال القيم من خارج الصنف أو إخراجه من الداخل
وعليه فهي تتكون من متغير داخلي لحفظ القيمة وتسمى الحقل Field أو المخزن الخلفي Back store و الذي يكون خاص Private لحمايته من الوصول والتعديل المباشر
ويكون هناك مناهج خاصة Method أحدهما للتحكم بدخول القيمة من الخارج إلى الداخل ويسمى Setter (الكاتب Writer) وآخر لإخراج القيمة المخزنة في الحقل الخلفي إلى الخارج ويسمى Getter (القاريء Reader) وذلك لجعل عملية تغيير قيمة الحقل المقابل للخاصية تحت السيطرة الكاملة مما يتيح بالسماح أو المنع أو التحقق أو التغيير
في الحالة الطبيعية يكون قالب الخاصية كالتالي (الأمثلة بلغة #C):
private string _Name;
public string Name
{
get
{
return _Name;
}
set
{
_Name = value;
}
}
لكن اختصارات اللغة تسمح بالكتابة بشكل مبسط كالتالي
public string Name { get; set; }
وذلك في حال لم يكن هناك حاجة للتحكم بالقيمة حيث أن عملية توليد الحقل الخلفي والمنهجين setter و getter تتم أثناء الترجمة
هذه الصيغة المختصرة تسمى الخاصية الآلية أو التلقائية Automatic property
التعليقات