কম্পিউটার

পিএইচপি কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর


পরিচয়

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং পরিভাষায়, কনস্ট্রাক্টর হল একটি ক্লাসের ভিতরে সংজ্ঞায়িত একটি পদ্ধতি যা অবজেক্ট তৈরির সময় স্বয়ংক্রিয়ভাবে বলা হয়। একটি কনস্ট্রাক্টর পদ্ধতির উদ্দেশ্য হল অবজেক্ট শুরু করা। 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

ধ্বংসকারী

ডেস্ট্রাক্টর হল একটি পদ্ধতি যা স্বয়ংক্রিয়ভাবে আবর্জনা সংগ্রহকারীর পাখনা দেখে যে একটি নির্দিষ্ট বস্তুর আর কোন রেফারেন্স নেই। পিএইচপি-তে, ডেস্ট্রাক্টর পদ্ধতির নাম __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

  1. পিএইচপি-তে অ্যাবস্ট্রাকশন এবং এনক্যাপসুলেশনের মধ্যে পার্থক্য ব্যাখ্যা কর।

  2. পিএইচপি-তে চূড়ান্ত শ্রেণী ও চূড়ান্ত পদ্ধতি ব্যাখ্যা কর।

  3. C# এ প্রাইভেট কনস্ট্রাক্টর এবং সিঙ্গেলটন ক্লাস

  4. জাভা কনস্ট্রাক্টর কি?