7.12 জাভাস্ক্রিপ্টে মাল্টি লেভেল ইনহেরিট্যান্স
আমরা জাভাস্ক্রিপ্টে prototypical ইনহেরিট্যান্স নিয়ে জেনেছি। আজ আমরা মাল্টি লেভেল ইনহেরিট্যান্স নিয়ে আলোচনা করব। আমরা জিনিসটা এইভাবে চিন্তা করতে পারি, আমাদের দাদার থেকে আমাদের বাবা সম্পতি পেয়েছে, আবার আমাদের বাবার সম্পত্তি আমরা পাবো। মাল্টি লেভেল ইনহেরিট্যান্সও তাই। আমরা প্রথমে প্রোটোটাইপ চেইন ব্যবহার করে মাল্টি লেভেল ইনহেরিট্যান্স দেখব। তারপর জাভাস্ক্রিপ্ট ক্লাস দিয়ে একই জিনিস করব।
উপরের কোডটি খেয়াল করি। prototypical ইনহেরিট্যান্স সম্পর্কে জানলে জিনিসটা আমাদের খুবই সহজ। যারা জানেন না তাদেরকে prototypical ইনহেরিট্যান্স সম্পর্কে দেখে আসতে বলব। উপরের কোডটিতে father অবজেক্ট grandfather এর সবকিছু ইনহেরিট করে, আবার son অবজেক্ট father অবজেক্টের সবকিছু ইনহেরিট করে। কাজেই, son অবজেক্ট থেকে চাইলেই father এবং grandfather এর সবকিছু এক্সেস করা যাবে।
আমরা এতক্ষণ প্রোটোটাইপ চেইন ব্যবহার করে মাল্টি লেভেল ইনহেরিট্যান্স সম্পর্কে জানলাম। এখন আমরা একই জিনিস ES6 ক্লাস দিয়ে দেখব।
আমরা জানি, জাভাস্ক্রিপ্টে প্যারেন্ট ক্লাস থেকে ইনহেরিট করার জন্য চাইল্ড ক্লাসকে এক্সটেন্ড করতে হয়। তাহলে প্যারেন্ট ক্লাসের পাবলিক আর প্রোটেক্টেড প্রোপার্টিগুলা চাইল্ড ক্লাসও পেয়ে যায়।
দেখা যাচ্ছে, son নামের একটি instance তৈরি করা হয়েছে Son ক্লাস থেকে। এই অবজেক্টটি থেকে আমরা তার প্যারেন্ট এবং গ্র্যান্ডপ্যারেন্টের প্রপার্টি এক্সেস করতে পারছি। এটাই মাল্টি লেভেল ইনহেরিট্যান্স। আশা করি জাভাস্ক্রিপ্টে মাল্টি লেভেল ইনহেরিট্যান্স সম্পর্কে আমাদের ধারণা পরিষ্কার হয়েছে।
-
নিচের উদাহরণটি জাভাস্ক্রীপ্টে ইনহেরিটেন্সের খুবই সহজ একটি উদাহরণ।
-
যখন আমরা super কিওয়ার্ড ব্যবহার করি, তখন এটি প্যারেন্ট ক্লাসের প্রপার্টি বুঝায়।
-
চাইল্ড ক্লাস চাইলে খুৱ সহজেই প্যারেন্টের প্রপার্টি ওভাররাইড করতে পারে:
-
নিচের কোড স্নিপেটের আউটপুট কি হবে?
- নিচের কোড স্নিপেটের আউটপুট কি হবে?
- নিচের কোড স্নিপেটের আউটপুট কি হবে?
- নিচের কোড স্নিপেটের আউটপুট কি হবে?