After taking your course, my knowledge of PHP has ballooned! "بعد الاستيلاء على دراستك، وقد انتفخ معرفتي بي!"
سلب

مقدمة في PHP وتعدد الأشكال

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

وذلك من خلال القضاء على الحاجة إلى التبديل إذا والبيانات عند تحديد السلوك.

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

واجهة IAnimal
{
makeNoise ( ) ; جمهور makeNoise وظيفة ()؛
}

Cat implements IAnimal القطة فئة تنفذ IAnimal
{
makeNoise ( ) جمهور makeNoise وظيفة ()
{
" Meow " ; عودة "مواء"؛
}
}

Dog implements IAnimal الكلب فئة تنفذ IAnimal
{
makeNoise ( ) جمهور makeNoise وظيفة ()
{
" Woof " ; عودة "اللحمة"؛
}
}

ولذلك مع رمز أعلاه مطور ليست في حاجة لمعرفة ما هو نوع من فئة الحيوان هو من أجل جعل الصوت ما دام الهدف هو نوع من IAnimal انها سوف تتعامل مع هذا في حد ذاته.

ويمكن بالطبع أن يتكرر هذا مع الطبقات باستخدام فئة أساسية مع أسلوب makeNoise ثم تجاوز هذا في الطبقات طفل.

وفيما يلي مثال على عدم استخدام تعدد الأشكال.

Cat فئة القطة
{
Meow ( ) مواء العامة وظيفة ()
{
" Meow " ; عودة "مواء"؛
}
}

Dog فئة الكلب
{
Woof ( ) وظيفة عامة اللحمة ()
{
" Woof " ; عودة "اللحمة"؛
}
}

Code to determine the action / / قانون لتحديد عمل
$ animal instanceof Dog ) إذا دولار (الكلب instanceof الحيوانية)
{
$ animal - > Woof ( ) ; صدى $ حيوان -> اللحمة ()؛
}
آخر
{
$ animal - > Meow ( ) ; صدى $ حيوان -> مواء ()؛
}

كما يمكنك أن ترى أنه لا توجد طريقة موحدة بين الطبقات منطق اضافية يجب استخدامها لضمان يتم استدعاء الأسلوب الصحيح.


لا وقدمت تعليق.
أمن صورة
كتبه الدباغ دومينيك
آخر تحديث: 2011/10/25 16:00:38