السلام عليكم و رحمت الله و بركاته.
موقع PHPIST.NET هو موقع موجه إلى كل فئات المطورين و المبتدئين في هذا المجال. الموقع حديث النشأة لذلك فمرحبا بكل من يريد المساهمة بأي مقالة في إطار الويب لإغناء المجتمع العربي بآخر التكنولوجية و ما تتميز به بالأخص لغة PHP و PHP5. لكن الموقع منفتح على كل اللغات الأخرى إذا كان من يريد أن يساهم.
أخبار التكنولجية
الرئيسية » PHP » الوراثة في لغة PHP5
الوراثة في لغة PHP5

الوراثة في لغة PHP5

السلام عليكم و رحمت الله و بركاته.

اليوم سنتطرق إلى الوراثة في لغة PHP5. هذا الموضوع هام جدا، لذلك وجب التركيز.

مفهوم الوراثة هنا مثله مثل الوراثة العادية في حياتنا، حيث يمكننا وراثة بعض الخصائص و الميزات من أبوينا كالعينين و الأنف و الطول و الإسم و ما إلى ذلك. إذا أخذت هذا المفهوم بهذه البساطة، فسوف تجد هذا الموضوع سهل بما فيه الكفاية لتستوعب هذا الدرس.

إذا فالوراثة في البرمجة الكائنية سواء في لغة PHP5 أو في لغات أخرى، سنجد نفس المفهوم لها و تطبق بنفس الطريقة. سنأخذ الكلاس الذي بدأنا بكتابته في درس إنشاء الكلاس و من ثم سننشئ كلاس جديد يرث من كلاسنا و هكذا سنتعامل مع الوراثة و سنرى مبادئ الوراثة في لغة PHP5.

للرجوع إلى لغة PHP4 كنا إذا أردنا أن نستفيد من كود مكتوب و جاهز نستعمل الدالة include أو require للوصول إليه، مازالت هذه التقنية تستعمل في لغة PHP5 و بكيفية أفضل, لكن نجد أيضا تقنية الوراثة و التي تستعمل غالبا.

دعونا من الكلام و لنبدأ في العمل، لكن ماذا نريد أن نفعل بكلاسنا. لدي فكرة، مادام الكلاس الذي كتبناه آنفا حول الشخص و صفاته و ميزاته، لنستفيد من هذه النقطة و ننشئ كلاس لشخص ما محدد، ربما دعنا نسمي هذا الكلاس باسم ” أحمد “، إذا أحمد سيرث خصائص و أساليب من الكلاس الأب.

أولا لنغير على الكلاس الأب :

إذا دعنا نرى كيف تتم عملية الوراثة من الكلاس الإبن للكلاس الأب :

إذا فالعامل إكسدنس يلعب دور الموصل، أعني بأن العامل إكسدنس هو المسؤول عن توصيل كلما بداخل الكلاس الأب إلى الكلاس الإبن. هناك طبعا بعض الخصائص و الأساليب التي لا يمكننا الولوج إليها من الكلاس الإبن، وذلك راجع إلى مدى الرؤية التي أعطيت لكل أسلوب أو خاصية في الكلاس الأب، هذا موضوع آخر، سأتطرق إليه في الدرس المقبل إن شاء الله. كل ما عليك معرفته الآن هو أن باستخدامنا العامل إكسدنس يمكننا الولوج داخل الكلاس الأب و وراثة خصائصه و أساليبه.

لنأخذ مثال على ذلك :

لنقم بإنشاء كائن للكلاس أحمد و نلج للدالة ()printFullName التي ستطبع لنا الإسم الكامل :

إذا فالدالة ستطبع لنا اسم : Belkaid Ahmed

يمكننا أيضا أن نعمل construct__ و نضع فيه القيم الإفراضية لدوالنا أو الخصائص، و من ثم نرث هذا construct__ من الكلاس الإبن هكذا :

لتتضح الصورة أكثر، نقوم بالتعديل على الكلاس الأب :

لو حاولنا طباعة النتيجة مرة أخرى فالنتيجة ستكون مختلفة، فعوض أن يطبع لنا اسم Belkaid Ahmed سيطبع اسم Belkaid phpist و ذلك لأن بداخل construct__ الكلاس الأب وضعنا القيمة الإفتراضية هي “phpist” لذلك في الطباعة أخذ القيمة الموجودة داخل construct__.

هذه أساسيات الوراثة في لغة PHP5 سنرى في الدرس المقبل ماهي الرؤية في لغة PHP5 و ما علاقتها بالوراثة

أتمنى أنني قد نجحت في إيصال مفهوم الوراثة في لغة PHP5 لك، و أنك بدأت تستوعب أهمية البرمجة الكائنية في لغة PHP5 و في جميع اللغات الأخرى. لاتنسى وضع تعليق إما باقتراح أو باستفسار أو ما يعجبك 🙂

عن Yassine Belkaid

ياسين بلقايد، مطور مواقع محترف. طور مجموعة كبيرة من المواقع و تطبيقات الويب. يحب عمله و شغوف بآخر التكنولوجية، يحب لغة PHP5 و كل ما يتعلق بها.

اضف رد

لن يتم نشر البريد الإلكتروني . الحقول المطلوبة مشار لها بـ *

Please type the characters of this captcha image in the input box

Please type the characters of this captcha image in the input box

*