في دلفيالطريقة هي إجراء أو دالة تقوم بعملية على كائن. طريقة الفئة هي طريقة تعمل على مرجع فئة بدلاً من مرجع كائن.
إذا قرأت بين السطور ، ستجد أن طرق الفصل يمكن الوصول إليها حتى عندما لم تقم بإنشاء مثيل للفئة (الكائن).
طرق الفصل مقابل طرق الكائن
في كل مرة تقوم فيها بإنشاء مكون دلفي ديناميكيًا، يمكنك استخدام طريقة فئة: المنشئ.
إن المُنشئ إنشاء طريقة فئة ، على عكس جميع الطرق الأخرى التي ستواجهها في برمجة دلفي ، وهي طرق كائن. طريقة الفئة هي طريقة من الفئة ، وبشكل ملائم ، طريقة الكائن هي طريقة يمكن استدعاؤها بواسطة مثيل من الفئة. من الأفضل توضيح ذلك بمثال ، مع تمييز الفئات والكائنات باللون الأحمر للتوضيح:
myCheckbox: = TCheckbox. إنشاء (لا شيء) ؛
هنا ، يسبق استدعاء إنشاء اسم الفئة وفترة ("TCheckbox."). إنها طريقة للفصل ، تعرف باسم المنشئ. هذه هي الآلية التي يتم من خلالها إنشاء مثيلات الفئة. والنتيجة هي مثيل لفئة TCheckbox. تسمى هذه الحالات كائنات. قارن سطر السطر السابق بما يلي:
myCheckbox. إعادة رسم
هنا ، يتم استدعاء أسلوب إعادة الرسم لكائن TCheckbox (الموروث من TWinControl). يسبق استدعاء إعادة الرسم متغير الكائن ونقطة ("myCheckbox.").
يمكن استدعاء طرق الفصل بدون مثيل للفصل (على سبيل المثال ، "TCheckbox. خلق"). يمكن أيضًا استدعاء أساليب الفصل مباشرة من كائن (على سبيل المثال ، "myCheckbox. ClassName "). ومع ذلك ، لا يمكن استدعاء طرق الكائن إلا من خلال مثيل لفئة (على سبيل المثال ، "myCheckbox. إعادة رسم ").
وراء الكواليس ، منشئ إنشاء تخصيص الذاكرة للكائن (وتنفيذ أي تهيئة إضافية كما هو محدد بواسطة TCheckbox أو أسلافه).
تجربة طرق الفصل الخاصة بك
فكر في AboutBox (نموذج "حول هذا التطبيق" المخصص). يستخدم الكود التالي شيئًا مثل:
الإجراء TfrMain.mnuInfoClick (المرسل: TObject) ؛هذه ، بالطبع ، طريقة لطيفة جدًا للقيام بهذه المهمة ، ولكن فقط لجعل التعليمات البرمجية أسهل للقراءة (والإدارة) ، سيكون تغييرها إلى:
ابدأ
AboutBox: = TAboutBox. إنشاء (لا شيء) ؛
محاولة
AboutBox. ShowModal ؛
أخيرا
AboutBox. إطلاق سراح؛
النهاية؛
النهاية؛
الإجراء TfrMain.mnuInfoClick (المرسل: TObject) ؛يستدعي السطر أعلاه طريقة فئة "ShowYourself" لفئة TAboutBox. يجب تمييز "ShowYourself" بالكلمة الرئيسية "صف دراسي":
ابدأ
TAboutBox. اظهر نفسك؛
النهاية؛
إجراء فئة TAboutBox. اظهر نفسك؛
ابدأ
AboutBox: = TAboutBox. إنشاء (لا شيء) ؛
محاولة
AboutBox. ShowModal ؛
أخيرا
AboutBox. إطلاق سراح؛
النهاية؛
النهاية؛
أشياء لتأخذها بالحسبان
- يجب أن يتضمن تعريف طريقة الفصل فئة الكلمة المحجوزة قبل الكلمة الأساسية للإجراء أو الوظيفة التي تبدأ التعريف.
- لا يتم إنشاء نموذج AboutBox تلقائيًا (خيارات المشروع).
- ضع وحدة AboutBox في بند استخدامات النموذج الرئيسي.
- لا تنس أن تعلن الإجراء في جزء الواجهة (العام) من وحدة AboutBox.