জাভাস্ক্রিপ্ট ক্লাস এবং উত্তরাধিকার (ES6)
ES6 অনুসারে আপনার যা প্রয়োজন তা পূরণ করতে আপনি জাভাস্ক্রিপ্ট ক্লাস এবং উত্তরাধিকার ব্যবহার করতে পারেন।
ECMAScript 2015-এ প্রবর্তিত জাভাস্ক্রিপ্ট ক্লাসগুলি জাভাস্ক্রিপ্টের বিদ্যমান প্রোটোটাইপ-ভিত্তিক উত্তরাধিকারের তুলনায় মূলত সিনট্যাকটিকাল চিনি।
তথ্যসূত্র: https://developer.mozilla.org/en-US/docs/Web/ জাভা স্ক্রিপ্ট / রেফারেন্স / ক্লাস
প্রথমত, আমরা আমাদের বিমূর্ত ক্লাসটি সংজ্ঞায়িত করি। এই শ্রেণিটি তাত্ক্ষণিকভাবে চালু করা যায় না, তবে বাড়ানো যেতে পারে। আমরা এমন ফাংশনগুলিও সংজ্ঞায়িত করতে পারি যা অবশ্যই এই শ্রেণীর সমস্ত শ্রেণিতে প্রয়োগ করা উচিত।
/**
* Abstract Class Animal.
*
* @class Animal
*/
class Animal {
constructor() {
if (this.constructor == Animal) {
throw new Error("Abstract classes can't be instantiated.");
}
}
say() {
throw new Error("Method 'say()' must be implemented.");
}
eat() {
console.log("eating");
}
}
এর পরে, আমরা আমাদের কংক্রিট ক্লাসগুলি তৈরি করতে পারি। এই ক্লাসগুলি বিমূর্ত শ্রেণীর সমস্ত ক্রিয়াকলাপ এবং আচরণের উত্তরাধিকারী হবে।
/**
* Dog.
*
* @class Dog
* @extends {Animal}
*/
class Dog extends Animal {
say() {
console.log("bark");
}
}
/**
* Cat.
*
* @class Cat
* @extends {Animal}
*/
class Cat extends Animal {
say() {
console.log("meow");
}
}
/**
* Horse.
*
* @class Horse
* @extends {Animal}
*/
class Horse extends Animal {}
এবং ফলাফল ...
// RESULTS
new Dog().eat(); // eating
new Cat().eat(); // eating
new Horse().eat(); // eating
new Dog().say(); // bark
new Cat().say(); // meow
new Horse().say(); // Error: Method say() must be implemented.
new Animal(); // Error: Abstract classes can't be instantiated.