26.04.2015 Views

البرمجة الغرضية التوجه في دلفي

البرمجة الغرضية التوجه في دلفي

البرمجة الغرضية التوجه في دلفي

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>البرمجة</strong> <strong>الغرضية</strong> <strong>التوجه</strong> <strong>في</strong> دل<strong>في</strong><br />

عروة عيسى<br />

لنوضح هذة النقطة الهامة<br />

<strong>في</strong> مثال التاريخ السابق<br />

:<br />

،<br />

لو كنا نتبع الطريقة الكلاسيكية ب<strong>البرمجة</strong> فإن المتحولات ‏(البيانات)‏ ستكون متاحة للدخول والتغيير المباشر<br />

وبالتالي من الممكن إدخال قيم غير صالحة بدون وجود إمكانية للتأكد منها<br />

(٣٠ February 30 شباط)‏ والذي هو تاريخ خاطيء لإن شباط لايحوي ٣٠ يوم<br />

،<br />

،<br />

مثلا لو قمت بإدخال التاريخ<br />

فإن البرنامج سيقبلة لإننا عرفنا<br />

متحول اليوم من النوع الصحيح (Integer) الذي يقبل هذة القيمة ، وستحصل الأخطاء لاحقا عند العمليات<br />

، الحسابية<br />

أو تعطي نتائج خاطئة تماما<br />

أما <strong>في</strong> حال <strong>البرمجة</strong> <strong>الغرضية</strong><br />

.<br />

،<br />

فإن الدخول المباشر للبيانات غير مسموح لإن البيانات مغلفة ‏(مخبأة ( <strong>في</strong> الصنف<br />

والوصول إليها يتم بإستخدام المناهج التي خصصها الصنف<br />

ستتعامل مع إجرائية أو تابع لإدخال القيمة<br />

لذلك ،<br />

،<br />

يمكن بسهولة تضمينها شفرات لفحص القيم والتأكد منها<br />

،<br />

.<br />

أي أنك لن تستخدم المتحول مباشرة بل<br />

وبالتالي لن يظهر معنا النوع السابق من الأخطاء لإن هذة المناهج<br />

ورفض التعديلات <strong>في</strong> حال كانت القيمة غير صالحة<br />

لاحظ أننا أستخدمنا المنهج SetValue لضبط القيم ولم نقم بالضبط المباشر وهنا نستطيع إضافة الشفرة<br />

الخاصة بالتحقق من صلاحية القيمة<br />

،<br />

كأن تكون أصغر من حد معين<br />

... أو أو ، أو غير سالبة ،<br />

-<br />

-<br />

كما أن للتغليف ميزة سحرية للمبرمج نفسه هذة المرة<br />

..<br />

•<br />

لإا تسمح لة بتغيير التركيب الداخلي للصنف <strong>في</strong> التحديثات المستقبلية<br />

الأغراض التي إستخدمت هذا الصنف بإقل عناء ممكن<br />

،<br />

،<br />

وبالتالي ستطبق التغييرات تلقائيا على بقية<br />

دون الحاجة لتغير شفرتنا <strong>في</strong> مناطق مختلفة من البرنامج<br />

.<br />

: ملاحظة<br />

بالإضافة إلى التغليف المعتمد-على–الصنف فإن دل<strong>في</strong> تدعم التغليف المعتمد-على-الوحدة<br />

،<br />

بحيث كل متغير تقوم<br />

بتعريفة <strong>في</strong> قسم ال Interface للوحدة سيصبح مرئيا لباقي وحدات البرنامج عند إستخدامها <strong>في</strong> التعريف<br />

حين أن المتغيرات المعرفة <strong>في</strong> قسم ال Implementation هي متغيرات محلية لهذة الوحدة فقط .<br />

Uses <strong>في</strong><br />

١٠

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!