پلی مورفیسم به زبان ساده

پرسیده شده
فعالیت 1426 روز پیش
دیده شده 1006 بار
8

سلام به همه دوستان

یک سری مطالعه راجب پلی مورفیسم داشتم که خلاصه مقالات رو اینجا قرار میدم

امیدوارم در درک بهتر پلی مورفیسم بهتون کمک کنه.

 

در مبحث پلی مورفیسم؛ زمانی که کار یکی هستش ولی روش انجام کار متفاوت باشه؛ از پلی مورفیسم استفاده میشه.

برای مثال یک درب رو در نظر بگیرید.  فرق نمیکنه که درب اتاق باشه؛ یا درب هواپیما ؛ قطار، بطری آب و...

 

هر درب؛  2 متد میتونه داشته باشه:

باز شدن (open)

بسته شدن (close)

 

حالا اگه بخوایم این مثال رو به کد تبدیل کنیم به این صورت هستش.

 

class door
{
  public function open()
  {
    echo "درب باز شد";
  }

  public function close()
  {
    echo "درب بسته شد";
  }
}

 

و حالا اگه بخوایم واسه اشیا دیگه که این 2 متد رو دارند؛ کد نویسی کنیم به این صورت میشه:


class havapeima extends door
{
  public function open()
  {
    echo "درب هواپیما باز شد";
  }

  public function close()
  {
    echo "درب هواپیما بسته شد";
  }
}

class water extends door
{
  public function open()
  {
    echo "درب بطری آب باز شد";
  }

  public function close()
  {
    echo "درب بطری آب بسته شد";
  }
}

 

مثالی دیگه که میشه زد؛ کارمندهای یک شرکت رو در نظر بگیرید.

برنامه نویس ها

مدیر شرکت 

منشی

 

تمام این افراد متدهای یکسانی میتونن داشته باشند مثل؛ ساعت ورود و خروج؛ محاسبه میزان حقوق و...

حالا اگه بخوایم به کد تبدیل کنیم به این صورت نوشته میشه:

<?php
class karmand
{
  public function vorod_va_khoroj()
  {
    echo "ساعت ورود هشت صبح و خروج 5 عصر";
  }

  public function mohasebe_hoghogh()
  {
    echo "محاسبه حقوق";
  }
}

class programmers extends karmand
{
  public function mohasebe_hoghogh()
  {
    echo "ساعت کاری * 1500000";
  }
}

class monshi extends karmand
{

  public function mohasebe_hoghogh()
  {
    echo "2000000 حقوق ثابت";
  }
}

 

فایل پیوست

amir tavakolian
amir tavakolian

13 خرداد 99