1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
// Encapsulation class Car { // constructor is a class function that is called automatically when // the class is instanciated by "new" keyword constructor(logo, model) { this.logo = logo; this.model = model; } getLogo() { return this.logo; } getCarModel() { return this.model; } isPermitted() { var currentYear = 2020; // new Date() return currentYear - this.model > 50 ? false : true; } } var toyota = new Car("Toyota", 1950); var bmw = new Car("BMW", 1970); if (bmw.isPermitted()) { console.log("BMW can run on the road"); } if (toyota.isPermitted()) { console.log("Toyota can run on the road"); } Answer: BMW can run on the road |
var toyota = new Car( ); এখানে ক্লাসের(Car) মাধ্যমে new কিওয়ার্ড ব্যবহার করে কি করে constructor কে কল করে রান করা হয় তা দেখানো হয়েছে ও বুঝানো হয়েছে ।
constructor কে কল করতে হলে কোন এতে ভেরিয়েবলের মাধ্যমে ওই ক্লাসটা কে কিওয়ার্ড ব্যবহার করে কল করতে হবে আর কিওয়ার্ড ব্যবহার ছাড়া কল করলে যে ক্লাসটা ক্লাসের ভিতর যদি কনস্ট্রাক্টর থাকে চালু হবে না ।
যেমনঃ var toyota = new Car( ); এটার মাধ্যমে constructor রান করেছে , আর constructor সে logo,model কল করেছে । আর শুধু var toyota = Car( ); এটা করলে constructor রান হতোনা ।
কনস্ট্রাকশন এর ভিতরে আর্গুমেন্ট পাস করা যায় যতগুলো আর্গুমেন্ট পাস করবে নিউ কিওয়ার্ড ইউজ করে কল করার সময় অবশ্যই কতগুলি আর্গুমেন্টের উল্লেখ করতে হবে
যেমনঃ constructor(logo,model) এখানে logo,model এইগুলো হলো আরগুমেন্ট দুটি আরো চাই লেখা যাবে , এবং নিছে var toyota = new Car(“Toyota”, 1950); এখানে “Toyota”, 1950 এটার মাধ্যমে কলে আরগুমেন্ট বসিয়েছে ।
ক্লাসের ভিতর যে ফাংশনগুলো আছে এই গুলোকে কনস্ট্রাক্টর এর সঙ্গে বাইন্ড করে দিতে হবে this ইউজ করে, তখন কনস্ট্রাক্টর চালু হলেই ভিতরে ফাংশনগুলো চালু হবে নিজে নিজেই।
যেমনঃ constructor এর ভিতরে this.logo = logo; ও this.model = model; লিকে নিছের getLogo & getCarModel কে constructor এর সাথে কানেকশন করেছে ।