26-06-2011, 08:34 AM
ملاحضة
هناك ثلاث اشكال للتعريف بالحقول
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 هي التي تستعمل لتعريف باني او مشيد
كما تلاحضون اننا قمنا بانشاء مشيد يقوم بتغير قيمة الحقل الى قيمة افترضية .
لو قمنا بانشاء شئ جديد او غرض جديد و عرضنا حقله بالطريقة التالية
النتيجة
PRISM
انشاء شئ جديد او غرض جديد و عرضنا حقله بالطريقة التالية
هناك ثلاث اشكال للتعريف بالحقول
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;
