البرمجة الغرضية التوجه في دلفي
البرمجة الغرضية التوجه في دلفي
البرمجة الغرضية التوجه في دلفي
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 />
:<br />
الباسكال لغة نموذجية ومثالية بشكل صارم<br />
،<br />
العكس بدون إجراء تحويل بدوال التحويل المناسبة التي تزودك دل<strong>في</strong> ا<br />
،<br />
وهذا يعني أنك لن تستطيع مثلا أن تنسب قيمة رقمية إلى قيمة نصية أو<br />
وللتبسيط فإن دل<strong>في</strong> تسمح لك <strong>في</strong> بعض الأحيان نسب نمطين مختل<strong>في</strong>ن ، <strong>في</strong> حال كان أحدهما يستوعب الآخر<br />
لاحظ أننا نستطيع نسب متحول Integer إلى متحول<br />
،<br />
Real بدون أخطاء ،،<br />
وبالطبع الحالة المعاكسة غير صحيحة<br />
مثلا<br />
.<br />
var i:integer;<br />
r:real;<br />
begin<br />
r:=i;<br />
i:=r;<br />
// ok<br />
//error!!!<br />
وهذا الإستثناء مهم <strong>في</strong> حالة أنماط الأصناف<br />
صنف ولنقل مثلا<br />
لإن الكلب حيوان<br />
End;<br />
،<br />
، Tdog<br />
فإذا قمت مثلا بتعريف صنف جديد مثل Tanimal وأشتقيت منه<br />
تستطيع عندها أن تنسب غرض من الصنف Tdog إلى متحول من الصنف<br />
، Tanimal<br />
،<br />
ولكن ليس بالضرورة أن يكون كل حيوان كلب<br />
،<br />
وبناء على ذلك العكس غير ممكن<br />
:<br />
var<br />
MyAnimal: Tanimal;<br />
MyDog: Tdog;<br />
begin<br />
MyAnimal := MyDog; // OK<br />
MyDog := MyAnimal; // error!!!<br />
٣٥