تخطي الطرق PHP Methods Overriding هي عملية التعديل على سلوك الطريقة عند التوريث ( PHP Inheritance )، بحيث تقوم بإعادة تعريف الطريقة داخل الفئة الوارثة بنفس الإسم ونفس الوسائط مع عمل بعض التعديلات لتخطي سلوكها بحيث تقوم بوظيفة مختلفة بنفس الوسائط. ويتم تخطي الطرق بهذا الشكل
<?php class A{ public function test($x, $y){ echo $x + $y; } } class B extends A{ //test تخطي الطريقة function test($x, $y) { if($x > $y){ return true; } return false ; } } $a = new A(); $a->test(3,2); //prints 5 $b = new B(); echo $b->test(3,2); //prints 1 because 3 > 2 which is TRUE ?>
في الكود السابق تم تعريف الطريقة ()test في السطرر قم 3 لطباعة مجموع الوسيطين x&y ، ثم قمنا بتوريث الفئة A إلى B ومن ثم أعدنا تعريف الطريقة ()test في السطر رقم 10 ولكن بوظيفة مختلفة تماما، وهي فحص ما إذا كان الرقم الأول أكبر، ثم واسترجاع true إن كان صحيحا
[highlight background=”” color=””]لا يجب أن يختلط عليك الأامر فيا يخص الطرق المجرده عند توريث الفئات المجرده ( PHP Abstract Classes )[/highlight]
والآن إذا كان التخطي هو عملية التعديل على الطريقة عند التوريث مع تخطي سلوكها ، فهناك أيضاً التحميل الزائد للطرق ( PHP Methods Overloading ).


