কন্সট্রাক্টর(Constructor)


যদি কোন ক্লাশের মধ্যে এমন একটি মেথড তৈরী করো যার নাম আর ক্লাশটির নাম একই, ওই মেথডটিই হচ্ছে কন্সট্রাক্টর (Constructor)।

যেমন দেখো:




আর যখন তুমি BronoxCar ক্লাশটিকে ইন্সট্যাশিয়েট(Instantiate) করবে অর্থাৎ BronoxCar ক্লাশের একটি অবজেক্ট তৈরী করবে তখন কন্সট্রাক্টর মেথডটি অটোমেটিক কল হয়ে যাবে। আলাদাভাবে এই মেথডকে কল করার প্রয়োজন হয় না।

যেমন দেখো:




আমরা শুধু ক্লাশটির একটি অবজেক্ট তৈরী করেছি। কোন মেথডকে কল করি নি বা কোন ভেরিয়েবলের ভ্যালু প্রিন্ট করি নি। কিন্তু অবজেক্ট তৈরী করার সাথে সাথে এরকম আউটপুট দেখাবে:




কারণ অবজেক্ট তৈরী করার সাথে সাথেই কন্সট্রাক্টর মেথডটি কল হয়ে গিয়েছে এবং তার অভ্যন্তরে যা কোড লেখা আছে তা এক্সিকিউট হয়ে গিয়েছে।

এখন ধরো কন্সট্রাক্টর তৈরী করার সময় তুমি কিছু প্যারামিটার দিলে এরকম:




তাহলে তোমাকে অবশ্যই ওই ক্লাশের অবজেক্ট তৈরী করার সময়ই প্যারামিটার এর ভ্যালু দিয়ে দিতে হবে। এভাবে:




এবং কন্সট্রাক্টরের কোন স্পেসিফিক রিটার্ন টাইপ থাকা যাবে না। যেমন দেখো আমরা কোন রিটার্ন টাইপ ব্যবহার করি নি।