الوراثة : الوراثة هي مفهوم أساسي في البرمجة الشيئية (OOP) التي تسمح للفئات بوراثة الخصائص والسلوكيات من الفئات الأخرى. إنها آلية لإنشاء فئات جديدة بناءً على الفئات الموجودة، وتعزيز إعادة استخدام التعليمات البرمجية وإقامة علاقات هرمية بين الفئات.
يعتمد الوراثة على مفهوم العلاقة بين "الوالد والطفل" أو "الطبقة المتفوقة والطبقة الفرعية". تسمى الفئة التي ترث منها فئة أخرى الفئة الفائقة أو الفئة الأساسية، بينما تسمى الفئة التي ترث من الفئة الفائقة الفئة الفرعية أو الفئة المشتقة. ترث الفئة الفرعية جميع الخصائص (المتغيرات) والأساليب (الوظائف) الخاصة بفئتها الفائقة ويمكنها أيضًا إضافة خصائصها وأساليبها الفريدة أو تجاوز الخصائص والأساليب الموروثة.
في البرمجة كائنية التوجه (OOP)، يعد الوراثة مفهومًا أساسيًا يسمح للفئات بوراثة الخصائص والسلوكيات من الفئات الأخرى. إنه يشجع على إعادة استخدام التعليمات البرمجية، والنمطية، وإنشاء علاقات هرمية بين الفئات. يتم تصنيف الميراث إلى أنواع مختلفة بناءً على طريقة اشتقاق الطبقات والعلاقات التي تشكلها. تشمل أنواع الميراث المتعارف عليها عادة ما يلي:
الميراث الفردي : يشير الميراث الفردي إلى سيناريو يرث فيه الفصل من فئة أساسية أو فئة رئيسية واحدة فقط. في هذا النوع من الميراث، تعمل الفئة المشتقة على توسيع وظائف فئة أساسية واحدة.
الوراثة المتعددة (غير مدعومة في PHP) : الوراثة المتعددة تسمح للفئة بأن ترث من أكثر من فئة أساسية واحدة. تتضمن الفئة المشتقة خصائص وسلوكيات فئات رئيسية متعددة. ومع ذلك، يمكن أن يؤدي الميراث المتعدد إلى تعقيدات وتعارضات، لذلك لا تدعمه جميع لغات البرمجة بشكل مباشر.
الوراثة متعددة المستويات : يتضمن الوراثة متعددة المستويات إنشاء سلسلة من الفئات المشتقة حيث ترث كل فئة مشتقة من الفئة الأساسية للمستوى السابق. وهذا يشكل سلسلة هرمية من الميراث. يمكن لكل فئة مشتقة إضافة وظائفها المحددة أثناء وراثة ميزات فئتها الأصلية.
الوراثة الهرمية : يحدث الوراثة الهرمية عندما ترث فئات مشتقة متعددة من فئة أساسية واحدة. تصبح كل فئة مشتقة فئة أساسية لمزيد من الفئات المشتقة. يسمح بإنشاء هيكل هرمي يشبه الشجرة.
الوراثة الهجينة (متعددة المسارات) (غير مدعومة في PHP): الوراثة الهجينة أو متعددة المسارات هي مزيج من الوراثة المتعددة والوراثة متعددة المستويات. أنها تنطوي على الوراثة من فئات متعددة وتشكيل هيكل الميراث متعدد المستويات في وقت واحد.
وراثة الواجهة : يحدث وراثة الواجهة عندما يقوم الفصل بتنفيذ واجهة واحدة أو أكثر. تحدد الواجهات عقدًا للطرق التي يجب أن تلتزم بها فئات التنفيذ. يمكن للفئة تنفيذ واجهات متعددة، مما يمكنها من وراثة وتحديد السلوك من مصادر متعددة.
من المهم ملاحظة أن توفر أنواع معينة من الميراث قد يختلف اعتمادًا على لغة البرمجة. PHP، على سبيل المثال، تدعم الوراثة الفردية محليًا وتوفر السمات كآلية بديلة لإعادة استخدام التعليمات البرمجية التي تشبه الوراثة المتعددة.
PHP: PHP تعني المعالج المسبق للنص التشعبي، وهي لغة برمجة نصية شائعة من جانب الخادم تستخدم لتطوير الويب. تم تصميم PHP خصيصًا لإنشاء صفحات ويب وتطبيقات ويب ديناميكية. تم إنشاؤها بواسطة Rasmus Lerdorf في عام 1994 وتطورت منذ ذلك الحين إلى لغة مستخدمة على نطاق واسع لبناء مواقع الويب الديناميكية.
تشتهر PHP ببساطتها ومرونتها، مما يجعلها لغة في متناول المبتدئين بينما تقدم أيضًا ميزات متقدمة للمطورين ذوي الخبرة. إنه مضمن ضمن كود HTML ويمكن مزجه مع HTML وCSS وJavaScript وتقنيات الويب الأخرى.
يشير الوراثة المتعددة إلى ميزة في لغات البرمجة الموجهة للكائنات والتي تسمح للفئة بأن ترث من أكثر من فئة أساسية واحدة. ومع ذلك، اعتبارًا من آخر موعد للمعرفة في سبتمبر 2021، لا تدعم PHP الميراث المتعدد مباشرةً.
يستخدم PHP الوراثة الفردية، حيث يمكن للفئة أن ترث من فئة أساسية واحدة فقط. تم اختيار التصميم هذا لتجنب بعض التعقيدات والصراعات التي يمكن أن تنشأ مع الميراث المتعدد. ومع ذلك، توفر PHP آلية بديلة تسمى "السمات" لتحقيق إعادة استخدام التعليمات البرمجية بطريقة مشابهة للميراث المتعدد.
تسمح لك السمات في PHP بتحديد الأساليب التي يمكن إعادة استخدامها في فئات متعددة. يمكنك التفكير في السمات كمجموعة من الأساليب التي يمكن دمجها في الفئات، مما يوفر طريقة لمشاركة التعليمات البرمجية عبر التسلسلات الهرمية المختلفة للفئات. تمكنك السمات من تحقيق إعادة استخدام التعليمات البرمجية وتكوينها مع تجنب المشكلات المحتملة للميراث المتعدد.
trait Trait1 { public function method1() { echo "Trait1 method1"; } } trait Trait2 { public function method2() { echo "Trait2 method2"; } } class MyClass { use Trait1, Trait2; } $obj = new MyClass(); $obj->method1(); // Output: Trait1 method1 $obj->method2(); // Output: Trait2 method2
في المثال أعلاه، تستخدم فئة MyClass كلا من Trait1 وTrait2 باستخدام الكلمة الأساسية use. ونتيجة لذلك، يمكن لمثيلات MyClass الوصول إلى الأساليب المحددة في كلتا السمتين.
باستخدام السمات، يمكنك مشاركة التعليمات البرمجية وإعادة استخدامها بشكل فعال عبر فئات متعددة في PHP، مما يوفر شكلاً من أشكال إعادة استخدام التعليمات البرمجية مشابهًا للميراث المتعدد مع تجنب تعقيداته المحتملة.
يسمح لك أسلوب التركيب هذا بإعادة استخدام التعليمات البرمجية من مصادر متعددة، مما يحقق تأثيرًا مشابهًا للميراث المتعدد. ومع ذلك، فهو يتطلب التفويض اليدوي لاستدعاءات الطريقة ولا يوفر نفس المستوى من مشاركة التعليمات البرمجية والمرونة مثل السمات.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3