۵ دانشجوی سون‌لرن
کاربرد abstract در پایان abstract class AbstractCouponValidator چیست؟
جامعه پی اچ پی ایجاد شده در ۳۱ فروردین ۱۴۰۱

سلام. کاربرد کد «abstract public function validate($code);» در پایان کلاس AbstractCouponValidator رو دقیق متوجه نشدم. اگه برام توضیح بدین ممنون میشم


abstract class AbstractCouponValidator
{
    protected Coupon $coupon;
    protected $nextValidator;
    public function __construct(Coupon $coupon)
    {
        $this->coupon = $coupon;
    }
    public function setNextValidator(AbstractCouponValidator $validator)
    {
        $this->nextValidator = $validator;
    }
    protected function goToNextValidator($code)
    {
        if ($this->nextValidator === null) {
            return true;
        } else {
            return $this->nextValidator->validate($code);
        }
    }
    abstract public function validate($code);
}

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

کیان سلگی ۳۱ فروردین ۱۴۰۱، ۱۵:۰۴

در جلسه صوتی توضیح داده شد.

محمد گازری ۳۱ فروردین ۱۴۰۱، ۱۵:۰۵

در واقع برای این تعریف شدند که مطمئن باشیم تمامی زنجیره‌های ما چه زنجیره‌های فعلی چه زنجیره هایی که در آینده اضافه میشوند حتما باید این متد رو داشته باشند

یعنی یک جور قرار داد

میشد مثلاً این متد رو از این کلاس abstract برداشت و جدا در یک اینترفیس تعریف کرد

کیان سلگی ۳۱ فروردین ۱۴۰۱، ۱۵:۰۵

با تشکر از آقای گازری عزیز که توی تماس صوتی کامل برام توضیح دادند

همجنین ممنون از آقای محم.د خانی عزیز بابت توضیحات خوبشون

سیدرضا بازیار ۳۱ فروردین ۱۴۰۱، ۱۵:۱۳

خواهش میکنم

اگر باز سوالی هست در خدمتم ???

بهترین پاسخ
محمد گازری ۳۱ فروردین ۱۴۰۱، ۱۵:۱۴