কিছু অন্তর্নিহিত ধরণের সুরক্ষা (যেমন, জাভাস্ক্রিপ্ট নয়) সহ একটি ভাষা ধরে নেওয়া:
একটি গ্রহণ করে এমন একটি পদ্ধতি দেওয়া SuperType, আমরা জানি যে বেশিরভাগ ক্ষেত্রে আমাদের কোনও ক্রিয়া বাছাই করার জন্য টাইপ টেস্টিং করতে প্ররোচিত করা যেতে পারে:
public void DoSomethingTo(SuperType o) {
if (o isa SubTypeA) {
o.doSomethingA()
} else {
o.doSomethingB();
}
}
আমাদের সাধারণত, যদি সর্বদা না হয় তবে একটি একক, ওভারডেয়েবল পদ্ধতি তৈরি করা উচিত SuperTypeএবং এটি করা উচিত:
public void DoSomethingTo(SuperType o) {
o.doSomething();
}
... যার মধ্যে প্রতিটি উপ-টাইপকে নিজস্ব doSomething()বাস্তবায়ন দেওয়া হয় । আমাদের বাকি অ্যাপ্লিকেশনগুলি তখন প্রদত্ত যে কোনওটি SuperTypeআসলে একটি SubTypeAবা একটি কিনা তা সম্পর্কে যথাযথভাবে অজ্ঞ থাকতে পারে SubTypeB।
ওয়ান্ডারফুল।
তবে, আমাদের is aবেশিরভাগ ক্ষেত্রে, টাইপ-নিরাপদ ভাষাগুলিতে এখনও আমাদের পছন্দ মতো অপারেশন দেওয়া হয়েছে । এবং এটি সুস্পষ্ট ধরণের পরীক্ষার জন্য একটি সম্ভাব্য প্রয়োজনের পরামর্শ দেয়।
সুতরাং, কি পরিস্থিতিতে, যদি থাকে, উচিত আমরা বা উচিত নয় আমরা স্পষ্ট টাইপ পরীক্ষামূলক সঞ্চালন?
আমার অনুপস্থিত মনোভাব বা সৃজনশীলতার অভাবকে ক্ষমা করুন। আমি জানি আমি এটি আগেও করেছি; তবে, এটি এতদিন আগে সত্যি ছিল আমি যা করতে পারি তা ভাল ছিল কিনা আমি মনে করতে পারি না! এবং সাম্প্রতিক স্মৃতিতে, আমি মনে করি না যে আমি আমার কাউবয় জাভাস্ক্রিপ্টের বাইরে ধরণের পরীক্ষা করার প্রয়োজনের মুখোমুখি হয়েছি ।