परिचय
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग शब्दावली में, कंस्ट्रक्टर एक वर्ग के अंदर परिभाषित एक विधि है जिसे ऑब्जेक्ट के निर्माण के समय स्वचालित रूप से कहा जाता है। कंस्ट्रक्टर विधि का उद्देश्य ऑब्जेक्ट को इनिशियलाइज़ करना है। PHP में, विशेष नाम की एक विधि __construct एक निर्माता के रूप में कार्य करता है।
सिंटैक्स
__construct ([ mixed $args = "" [, $... ]] ) : void
कन्स्ट्रक्टर उदाहरण
यह उदाहरण दिखाता है कि ऑब्जेक्ट घोषित होने पर कंस्ट्रक्टर स्वचालित रूप से निष्पादित हो जाता है
उदाहरण
<?php class myclass{ function __construct(){ echo "object initialized"; } } $obj=new myclass(); ?>
आउटपुट
यह निम्नलिखित परिणाम देगा। -
object initialized
तर्कों वाला कंस्ट्रक्टर
क्लास गुण कंस्ट्रक्टर द्वारा तर्कों के साथ आरंभ किए जाते हैं
उदाहरण
<?php class rectangle{ var $height; var $width; function __construct($arg1, $arg2){ $this->height=$arg1; $this->width=$arg2; } function show(){ echo "Height=$this->height Width=$this->width"; } } $obj=new rectangle(10,20); $obj->show(); ?>
आउटपुट
यह निम्नलिखित परिणाम देगा। -
Height=10 Width=20
विरासत में निर्माता
यदि पैरेंट क्लास में कंस्ट्रक्टर परिभाषित है, तो इसे चाइल्ड क्लास के कंस्ट्रक्टर के भीतर parent::__construct द्वारा कॉल किया जा सकता है। . हालांकि, अगर चाइल्ड क्लास कंस्ट्रक्टर को परिभाषित नहीं करता है, तो इसे बेस क्लास से समान विरासत में मिलता है।
उदाहरण
<?php class a{ function __construct(){ echo "this is a constructor of base class\n"; } } class b extends a{ function __construct(){ parent::__construct(); echo "this a constructor class b\n"; } } class c extends a { // } $a=new a(); $b=new b(); $c=new c(); ?>को बढ़ाता है
आउटपुट
यह निम्नलिखित परिणाम देगा। -
this is a constructor of base class this is a constructor of base class this a constructor class b this is a constructor of base class
विनाशक
विनाशक स्वचालित रूप से एक विधि है जैसे ही कचरा संग्रहकर्ता को पता चलता है कि किसी विशेष वस्तु का कोई और संदर्भ नहीं है। PHP में, डिस्ट्रक्टर मेथड को __destruct . नाम दिया गया है . शटडाउन अनुक्रम के दौरान भी, वस्तुओं को नष्ट कर दिया जाएगा। विनाशक विधि कोई तर्क नहीं लेती है, न ही यह कोई डेटा प्रकार लौटाती है
उदाहरण
<?php class myclass{ function __construct(){ echo "object is initialized\n"; } function __destruct(){ echo "object is destroyed\n"; } } $obj=new myclass(); ?>
आउटपुट
यह निम्नलिखित परिणाम दिखाएगा
object is initialized object is destroyed