الفئات ومقدمة إلى البرمجة كائنية التوجه
#7
ملاحضة
هناك ثلاث اشكال للتعريف بالحقول
1- published property MyField : string read _myField write _myField;
2- published property MyField : string read _myField write SetMyField;
3- published property MyField : string read GetMyField write SetMyField;
لحالة الأولى : وهي أبسط الحالات , أن نقوم بتعريف متحول ما _myField مثلا من أجل القراءة والكتابة , بدون إستخدام أي منهج , القراءة تتم منه والكتابة إلية , وطبعا لا يمكن هنا التأكد من صحة الإدخال , أو إرفاق إدخال أو إخراج القيمة بحدث ما .
الحالة الثانية :قمنا بالقراءة من متحول (_myField ) بشكل طبيعي مثل الحالة الأولى , حيث أنة في كثير من الأحيان لا نحتاج التأكد من صحة الإخراج طالما كنا قد تأكدنا من صحة الإدخال منذ البداية .
أما الكتابة فتتم بإستخدام الإجرائية SetMyField, وهنا نستطيع التأكد من صلاحية الأدخال أو إرفاق الإدخال بأحداث ما (إلغاء تعطيل خواص معينة بعد الإدخال مثلا) , وبالطبع هذة الحالة مستخدمة كثيرا على عكس الحالة الأولى .
الحالة الثالثة : إستخدمنا التابع GetMyField للإدخال والإجرائية SetMyFieldللإخراج , وهي الحالة العامة .

الباني Constructor :
الباني هو منهج خاص يستخدم لحجز الذاكرة لمنتسخ من صنف ليصبح جاهزاً للإستخدام , وكنا قد سميناه المنهج Create في مامضى , الحقيقة التي ****ك أن تعرفها عن الباني أنة يعيد الغرض كقيمة جاهزة للإستخدام حيث نستطيع نسية إلى متحول موجود لكي نستخدمة لاحقا . أي كأنة تابع قيمتة المعادة هي الغرض نفسة

DELPHI
في الدلفي كلمة constructor هي التي تستعمل لتعريف باني او مشيد
كود :
unit MyClassFile; interface type Mycalss = class private _mMyField: string; public property MyField : string read _mMyField write _mMyField; public constructor Create(); end; implementation constructor Mycalss.Create(); begin Self._mMyField := 'قيمة افتراضية للحقل '; end; end.
كما تلاحضون اننا قمنا بانشاء مشيد يقوم بتغير قيمة الحقل الى قيمة افترضية .
لو قمنا بانشاء شئ جديد او غرض جديد و عرضنا حقله بالطريقة التالية
كود :
procedure TForm1.Button1Click(Sender: TObject); var MyObeject : MyClassFile.Mycalss; begin MyObeject := MyClassFile.Mycalss.Create(); showmessage(MyObeject.MyField); end;
النتيجة
إقتباس :قيمة افتراضية للحقل

PRISM
كود :
namespace MyProject; interface type MyClass = class private _mMyField: string; public property MyField : string read _mMyField write _mMyField; constructor(); end; implementation constructor MyClass(); begin self._mMyField := 'قيمة افتراضية للحقل '; end; end.
انشاء شئ جديد او غرض جديد و عرضنا حقله بالطريقة التالية
كود :
method MainForm.button1_Click(sender: System.Object; e: System.EventArgs); begin var MyObject := new MyProject.MyClass(); MessageBox.Show(MyObject.MyField); end;
الرد


الردود في هذا الموضوع
الفئات ومقدمة إلى البرمجة كائنية التوجه - بواسطة زكيري عبدالعالي - 26-06-2011, 08:34 AM

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


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