বাংলায় পিএইচপি
  • শুরুর আগে
  • ইনস্টলেশন
  • ল্যাঙ্গুয়েজ ব্যাসিকস
  • ভ্যারিয়েবল ও ডাটা টাইপস
  • কন্সট্যান্টস, এক্সপ্রেশনস ও অপারেটরস
  • কন্ট্রোল স্ট্রাকচারস
  • ফাংশনস
  • মাস্টারিং এ্যারে
  • কমন এ্যারে ফাংশনস
  • অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
    • ক্লাস এবং অবজেক্ট
    • মেথড এবং প্রোপার্টি
    • স্ট্যাটিক ও নন-স্ট্যাটিক কনটেক্সট
    • ইনহেরিট্যান্স
    • ভিজিবিলিটি
    • কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর
    • ইন্টারফেইস
    • এ্যাবস্ট্রাকশন
    • ট্রেইটস
    • ম্যাজিক মেথডস
  • নেইমস্পেইস
  • ফাইলসিস্টেম
  • ডিজাইন প্যাটার্ন
    • সিঙ্গেলটোন
    • অবজার্ভার
    • অ্যাডাপ্টার
    • ফ্যাক্টরী
    • ডিপেন্ডেন্সি ইনজেকশন
    • ফ্যাসাড
    • স্ট্রাটেজি
    • ইটারেটর
    • প্রক্সি
    • ডেকোরেটর
Powered by GitBook
On this page
  • কন্সট্রাক্টরস
  • কন্সট্রাক্টরস ও ইনহেরিট্যান্স
  • ডেস্ট্রাক্টরস
  1. অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং

কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

কন্সট্রাক্টরস

যে কোন ক্লাসে আমরা একটি বিশেষ মেথড ডিফাইন করে দিতে পারি । পিএইচপি যখন একটি ক্লাস থেকে অবজেক্ট ইন্সট্যান্স তৈরি করবে তখন নতুন তৈরি হওয়া অবজেক্টটির এই বিশেষ মেথডটি কল করবে । প্রত্যেকটি ইন্সট্যান্স তৈরি হওয়র পরপরই পিএইচপি এই মেথডটি কল করে বিধায় অবজেক্টের নানা বিধ ইনিশিয়ালাইজেশনের কাজ এই মেথডে করা সম্ভব । এই মেথডটি অবজেক্ট তৈরি করার সময় গুরুত্বপূর্ন ভূমিকা পালন করে বিধায় এটাকে কন্সট্রাক্টর ফাংশন বা মেথড বলে ।

আমরা একটি উদাহরন দেখি:

<?php
class TestClass {
   function __construct() {
       print "From the constructor\n";
   }
}

$bc = new TestClass();

কন্সট্রাক্টরস ও ইনহেরিট্যান্স

চাইল্ড ক্লাস গুলোতে যদি আমরা নিজেদের কনস্ট্রাক্টর ডিফাইন করি তাহলে আর প্যারেন্ট এর কন্সট্রাক্টর অটোমেটিক্যালি কল হয় না । আমাদের কে এক্সপ্লিসিটলি প্যারেন্ট এর কন্সট্রাক্টর কল করার প্রয়োজন হয়।

<?php
class TestClass {
   function __construct() {
       print "From the constructor\n";
   }
}

class SubClass extends TestClass {
   function __construct() {
       parent::__construct();
       print "In SubClass constructor\n";
   }
}

$test = new SubClass();

এখানে parent::__construct(); এর মাধ্যমে আমরা প্যারেন্ট এর কন্সট্রাক্টর কল করলাম ।

ডেস্ট্রাক্টরস

একটা অবজেক্ট এর কাজ যখন শেষ হয়ে যায়, যখন আর কোন রেফারেন্স থাকে না ঐ অবজেক্ট এর তখন ঐ অবজেক্ট এর ডেস্ট্রাক্টর মেথডটি কল করা হয় ।

<?php
class MyDestructableClass {
   function __construct() {
       print "In constructor\n";
       $this->name = "MyDestructableClass";
   }

   function __destruct() {
       print "Destroying " . $this->name . "\n";
   }
}

$obj = new MyDestructableClass();

সাধারনত অবজেক্ট এ ব্যবহৃত গুরুত্বপূর্ন রিসোর্স ডি-এ্যালোকেট করার জন্য ডেস্ট্রাক্টর মেথড বেশ কাজে দেয় । কনস্ট্রাক্টর এর মত ডেস্ট্রাক্টরের বেলায় প্যারেন্ট এর ডেস্ট্রাক্টর এক্সপ্লিসিটলি কল করতে হয় ।

PreviousভিজিবিলিটিNextইন্টারফেইস

Last updated 6 years ago