متد construct__ یا سازنده در کلاس

تاریخ: ۳۰ فروردین ۱۴۰۰

متد سازنده یا constructor، یک متد با اجرای خودکار می باشد که به محض ساخته شدن آبجکت، هندل می شود. این متد در بیشتر کلاس ها استفاده می شود.

متد construct__ چیست؟

در بیشتر کلاس ها، نیاز داریم یکسری property ها و method ها به صورت خودکار اجرا شوند. متد سازنده یا construct__ وظیفه ی انجام این کار را به عهده دارد.

به محض اینکه آبجکت جدیدی از کلاس ساخته شود، متد construct__ به صورت خودکار اجرا خواهد شد.

class Foo {
    public $appName;
    function __construct($appName) {
        return $this->appName = $appName;
    }
    function show_appName() {
        return $this->appName;
    }
}
$object = new Foo('Biawp.ir');
echo $object->show_appName(); //output: Biawp.ir

 

در کد بالا و کلاس تعریف شده، یک متد سازنده قرار دادیم و گفتیم که یک ورودی دریافت کن و بعد آن را در متغیر appName بریز و سپس از آن متغیر، در متد show_appName استفاده کردیم.

نکته: اگر متد سازنده آرگومان خواست، هنگام تعریف آبجکت باید در کلاس وارد نماییم.

 

استفاده از متد سازنده در کلاس فرزند

در ارث بری یا inheritance، اگر لازم باشد که در کلاس فرزند نیز متد سازنده کلاس والد را داشته باشیم، کافیست از کیورد parent استفاده کنیم:

class Foo {
    public $appName;
    function __construct($appName) {
        $this->appName = $appName;
        echo $this->show_appName();
    }
    function show_appName() {
        return $this->appName;
    }
}
class Bar extends Foo {
    function __construct() {
        parent::__construct('Biawp.ir');
    }
}
$object = new Bar('Biawp.ir'); //output: Biawp.ir

 

تعریف متغیر به عنوان آرگومان متد سازنده (Constructor Promotion)

در متد سازنده، امکان تعریف مستقیم متغیر به عنوان آرگومان را داریم:


class Foo {
    function __construct(public $appName = '') {
        echo $this->appName = $appName;
    }
    function show_appName() {
        return $this->appName;
    }
}
$object = new Foo('Biawp.ir'); //output: Biawp.ir

 

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *