AbstractCouponValidator.php

پرسیده شده
فعالیت 952 روز پیش
دیده شده 327 بار
0

سلام

 در کد زیر

abstract class AbstractCouponValidator implements couponValidatorInterface
{
    private $nextValidator;

    public function setNextValidator(couponValidatorInterface  $Validator )
    {
        $this->nextValidator=$Validator;
    }

    public function validate(coupon $coupon)
    {
      if ($this->nextValidator ==null){
          return true;
      }
      return $this->nextValidator->validate($coupon);
    }
}

در بخش

 return $this->nextValidator->validate($coupon);

متود 

validate

که این جا  صدا زده شده است

کجا تعریف شده است؟

فایل پیوست

mohammad dadkhah
mohammad dadkhah

14 شهریور 00

1
حذف شده

دقت کنید که متد validate روی یک نمونه از اینترفیس couponValidatorInterface  صدا زده شده پس این متد باید درون همین اینترفیس قرار داشته باشه.

 

در واقع اتفاقی که افتاده به شکل زیر هست:

ابتدا یک متغیر از نوع پرایوت به نام nextValidator ایجاد شده

سپس در متد setNextValidator این متغیر برابر با نمونه‌ای از اینترفیس couponValidatorInterface  قرار گرفته

پس هر متدی که روی nextValidator صدا بشه باید درون این اینترفیس موجود باشه

فایل پیوست

رضا *

توسط

رضا *

18 شهریور 00

جلسه اعتبارسنجی کد تخفیف