شرح تعدد الأشكال في PHP [مع أمثلة]

نشرت: 2021-02-19

تتبع لغة البرمجة PHP نموذج البرمجة الشيئية (OOP) ، جنبًا إلى جنب مع الهياكل الأساسية الأخرى. تعد تعدد الأشكال واحدة من أهم ميزات OOPs. بشكل عام ، تعدد الأشكال مشتق من الكلمات اليونانية بولي التي تعني العديد وأشكال التشكل المعنى. تعدد الأشكال في OOPs هو مفهوم يسمح لك بإنشاء فصول ذات وظائف مختلفة في واجهة واحدة.

بشكل عام ، يكون من نوعين: وقت الترجمة (التحميل الزائد) ووقت التشغيل (التجاوز) ، لكن تعدد الأشكال في PHP لا يدعم التحميل الزائد ، أو بعبارة أخرى ، تعدد أشكال وقت الترجمة. الميزة الأكثر أهمية لتعدد الأشكال في PHP هي أنه لا داعي للقلق بشأن الجوانب الفنية لتحديد الكود المكتوب في أي فئة ، حيث سيتم استخدام الكل بنفس الطريقة.

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

جدول المحتويات

كيف يتم تطبيق تعدد الأشكال في PHP؟

يمكن تنفيذ تعدد الأشكال في PHP إما باستخدام واجهات أو فئات مجردة. سننظر في الأمثلة لفرضها في كلا الاتجاهين.

مثال تعدد الأشكال في PHP ليتم تنفيذه في الواجهات

يمكنك اعتبار الواجهة مخططًا لجميع الفئات التي تقوم بتوسيعها. إنها تشبه الفصول مع اختلاف أساسي واحد فقط. يمكنك التصريح عن أسماء الطرق والوسيطات وتعريفها داخل الواجهات ، لكن لا يمكنك كتابة رمز الطريقة. أي فئة تنفذ واجهة ستنفذ جميع أساليبها. بناء جملة الواجهة هو:

مثال على الواجهة

اسم الوظيفة العامة methodName () ،

}

بما أنك تعرف الآن عن الواجهات ، فلنلقِ نظرة على كيفية تنفيذ تعدد الأشكال في PHP في الواجهة.

<؟ php

واجهة ShapeExmp {

الوظيفة العامة calcArea () ؛

}

فئة SquareExmp تنفذ ShapeExmp {

جانب $ الخاص؛

الوظيفة العامة __construct ($ side) {

$ this-> side = $ side؛

}

حساب الوظيفة العامة calcArea () {

$ area = $ this-> side * $ this-> side؛

صدى "مساحة المربع =". $ area؛

}

}

فئة RectangleExmp تنفذ ShapeExmp {

عرض 1 دولار خاص ؛

ارتفاع 1 دولار خاص ؛

public function __construct ($ width1، $ height1) {

$ this-> width1 = $ width1؛

$ this-> height1 = height1 بالدولار ؛

}

حساب الوظيفة العامة calcArea () {

$ area = $ this-> width1 * $ this-> height1 ؛

صدى "<br> مساحة المستطيل =". $ area؛

}

}

فئة TriangleExmp تنفذ ShapeExmp {

cons1 دولار خاص ؛

عرض 1 دولار خاص ؛

ارتفاع 1 دولار خاص ؛

public function __construct ($ cons1، $ width1، $ height1) {

$ this-> cons1 = $ cons1 ؛

$ this-> width1 = $ width1؛

$ this-> height1 = height1 بالدولار ؛

}

حساب الوظيفة العامة calcArea () {

$ area = $ this-> cons1 * $ this-> width1 * $ this-> height1 ؛

صدى "<br> مساحة المثلث =". $ area؛

}

}

$ squ = New SquareExmp (8) ؛

$ squ-> calcArea ()؛

$ rect = new RectangleExmp (10،15)؛

$ rect-> calcArea ()؛

$ tri = new TriangleExmp (0.5،10،12) ؛

$ ثلاثي-> calcArea () ؛

؟>

انتاج:

مساحة المربع = 64

مساحة المستطيل = 150

مساحة المثلث = 3

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

مثال على تعدد الأشكال في PHP ليتم تنفيذه في فصول مجردة

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

<؟ php

شكل فئة مجردة

مجردة وظيفة محمية calcArea () ؛

}

class rectangleExmp يوسع الشكل Exmp {

var $ x، $ y؛

الوظيفة العامة __construct ($ x، $ y) {

$ this-> x = $ x ؛

$ this-> y = $ y؛

}

حساب الوظيفة العامة calcArea () {

$ a = $ this-> x * $ this-> y؛

العودة $ a؛

}

}

فئة الدائرة

فار $ r؛

الوظيفة العامة __construct ($ r) {

$ this-> r = $ r ؛

}

حساب الوظيفة العامة calcArea () {

pi دولار = 3.142 ؛

$ a = pow ($ this-> r، 2) * $ pi؛

العودة $ a؛

}

}

class squareExmp يوسع الشكل exmp {

فار $ s؛

الوظيفة العامة __construct ($ s) {

$ this-> s = $ s ؛

}

حساب الوظيفة العامة calcArea () {

$ a = $ this-> s * $ this-> s ؛

العودة $ a؛

}

}

$ rect = new rectangleExmp (8،10)؛

$ area = $ rect-> calcArea ()؛

صدى “Rectangle area = $ area <br>” ؛

$ Circ = new CircleExmp (5) ؛

$ area = $ circ-> calcArea ()؛

صدى "Cirlce area = $ area <br>" ؛

$ squ = new squareExmp (7) ؛

$ area = $ squ-> calcArea ()؛

صدى “Square area = $ area <br>” ؛

؟>

انتاج:

مساحة المستطيل = 80

مساحة الدائرة = 78.55

المساحة المربعة = 49

كما ترون في المثال أعلاه ، قمنا أولاً بإنشاء شكل فئة مجردة. ثم قمنا بتعريف دالة مجردة calcArea () فيها. لحساب الدائرة والمستطيل والمساحة المربعة ، اشتقنا هذه الفئات من فئة الملخص واستخدمنا الوظيفة المجردة calcArea (). وبالمثل ، يمكنك استخدام الفئات المجردة لتنفيذ تعدد الأشكال في PHP واستخدامها أثناء وقت التشغيل.

الخروج: مشاريع PHP على جيثب

تعلم دورات البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

خاتمة

كان هذا من شأنه أن يزيل كل شكوكك حول تعدد الأشكال في PHP. يمكنك تجربة استخدامه بطرق مختلفة بمساعدة أي IDE أو مترجم PHP عبر الإنترنت. نمت PHP لتصبح لغة برمجة سائدة. هناك العديد من فرص العمل المتاحة في PHP . إنه مناسب تمامًا لتطوير الويب التفاعلي وهو ضروري لتعلم كيف تصبح مطورًا متكاملًا.

إذا كنت ترغب في ممارسة مهنة تطوير متكاملة ، فيمكنك التحقق من برنامج upGrad و IIIT-B Executive PG في دورة تطوير البرامج كاملة المكدس . تقدم لك الدورة تعليمًا على 16 لغة وأدوات برمجة مختلفة. مع أكثر من 9 مهام مشروع لإكمالها أثناء الدورة ، تمنحك upGrad ضمان تحديد الموضع. يقدم لك أكثر من 500 ساعة من المواد التدريبية لمساعدتك على تعلم كيفية إنشاء مواقع وتطبيقات قوية وقابلة للتطوير.

ما هي البرمجة الشيئية؟

ما هو تعدد الأشكال في البرمجة؟

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

كيف تعمل الطبقات والكائنات في البرمجة؟

الفصول الدراسية هي وحدة أساسية في البرمجة الشيئية (OOP). إنها مخططات للكائنات ، وعلى هذا النحو يتم استخدامها لإنشاء كائنات وتحديد سلوك الكائنات. يمكن اعتبار الفئات بمثابة اللبنات الأساسية العالمية لـ OOP. يتم استخدامها لإنشاء كائنات خاصة بمهمة أو موقف معين. على عكس العالم الحقيقي ، يمكن إنشاء الفصول في أي وقت تقريبًا وبأي ترتيب. يمكنك إنشاء فئة حتى قبل أن تعرف كيف سيتم استخدامها - وهي عملية تُعرف باسم إنشاء مثيل للفئة "مجهول".