"হ্যালো, অ্যামিগো! আপনি ইতিমধ্যেই ইন্সট্যান্সফ অপারেটরের সাথে দেখা করেছেন। আজ আমি আপনাকে বলব কিভাবে এবং কোথায় এটি ব্যবহার করা যেতে পারে। instanceof একটি খুব সহজ এবং দক্ষ অপারেটর।"
"এটি একটি বিজ্ঞাপনের মত শোনাচ্ছে!"
"এটি সত্যিই খুব সহজ। এটি এভাবে ব্যবহার করা হয়: «বস্তু» দৃষ্টান্ত «শ্রেণী» ।"
এটি একটি বস্তু একটি নির্দিষ্ট শ্রেণীর একটি উদাহরণ কিনা তা পরীক্ষা করে। এটা ব্যাখ্যা করার চেয়ে সহজ। এই উদাহরণ দেখুন:
কোড | বর্ণনা |
---|---|
|
isInt সত্য হবে . ভেরিয়েবল o দ্বারা উল্লেখ করা বস্তুটি পূর্ণসংখ্যা শ্রেণীর একটি উদাহরণ। |
|
isInt মিথ্যা হবে । ভেরিয়েবল o দ্বারা উল্লেখ করা বস্তুটি পূর্ণসংখ্যা শ্রেণীর একটি উদাহরণ নয়। এটি একটি স্ট্রিং অবজেক্ট। |
|
isFIS সত্য হবে । ভেরিয়েবল o দ্বারা উল্লেখ করা বস্তুটি FileInputStream ক্লাসের একটি উদাহরণ। |
"হ্যাঁ, এটা খুব সহজ।"
"এই অপারেটরটি উত্তরাধিকারের জন্যও অ্যাকাউন্ট করে। এটি পরীক্ষা করে দেখুন।"
কোড | বর্ণনা |
---|---|
|
এখানে আমাদের তিনটি শ্রেণির ঘোষণা রয়েছে: প্রাণী, বিড়াল এবং বাঘ। বিড়াল উত্তরাধিকারসূত্রে প্রাণী। এবং টাইগার উত্তরাধিকারসূত্রে ক্যাট পেয়েছে। |
|
isCat সত্য হবে . টাইগার সত্যি হবে । প্রাণী সত্য হবে . |
|
isCat মিথ্যা হবে . টাইগার মিথ্যা হবে । প্রাণী সত্য হবে . |
এবং এমনকি ইন্টারফেস:
কোড | বর্ণনা |
---|---|
|
দুটি ক্লাস তৈরি করুন: বিড়াল, টমক্যাট এবং চলন্ত ইন্টারফেস |
|
isCat সত্য হবে . isMoveable সত্য হবে . isTom সত্য হবে . |
|
isCat সত্য হবে . isMoveable মিথ্যা হবে . isTom মিথ্যা হবে . |
অপারেটরের দৃষ্টান্তটি এইরকম দেখাচ্ছে: B এর একটি উদাহরণ ।
অন্য কথায়, অপারেটরের ইন্সট্যান্স সত্যি হবে যদি:
1) ভেরিয়েবল একটি বি টাইপের একটি বস্তুর একটি রেফারেন্স সংরক্ষণ করে
2) পরিবর্তনশীল একটি বস্তুর একটি রেফারেন্স সংরক্ষণ করে যার শ্রেণী B উত্তরাধিকারসূত্রে প্রাপ্ত হয়
3) পরিবর্তনশীল একটি বস্তুর একটি রেফারেন্স সংরক্ষণ করে যা ইন্টারফেস B প্রয়োগ করে
অন্যথায়, অপারেটরের উদাহরণ মিথ্যা ফিরে আসবে ।
"বুঝলাম। তাহলে এটার দরকার কেন, ঋষি চাচা?"
"এলি আজকে সে সম্পর্কে আপনাকে বলতে যাচ্ছে। এটি সত্যিই একটি চমৎকার অপারেটর। আপনি আজ এটি সম্পর্কে নিশ্চিত হবেন।"