এখানে প্রায় শতাধিক পরিভাষা সম্পর্কিত সমস্যা রয়েছে, বেশিরভাগই কারও চারপাশে নির্মিত (আপনি নন) তাদের ধারণাটি সেরাের মতো করে দেওয়ার চেষ্টা করছে।
সমস্ত অবজেক্ট ওরিয়েন্টেড ভাষাগুলি বেশ কয়েকটি ধারণাকে মোকাবেলা করতে সক্ষম হতে হবে:
- ডেটা সম্পর্কিত সম্পর্কিত ক্রিয়াকলাপ সহ ডেটা এনক্যাপসুলেশন, বিভিন্নভাবে ডেটা সদস্য এবং সদস্য ফাংশন, বা অন্যান্য জিনিসগুলির মধ্যে ডেটা এবং পদ্ধতি হিসাবে পরিচিত।
- উত্তরাধিকার, এই বিষয়বস্তু ঠিক এই পরিবর্তনের জন্য বাদ দেওয়া অন্যান্য অবজেক্টের মতোই বলার ক্ষমতা
- পলিমারফিজম ("অনেকগুলি আকৃতি") যাতে কোনও অবজেক্ট নিজেই সিদ্ধান্ত নেয় কী কী পদ্ধতি চালানো উচিত, যাতে আপনি আপনার অনুরোধগুলি সঠিকভাবে রুট করতে ভাষার উপর নির্ভর করতে পারেন।
এখন যতটা তুলনা করা যায়:
প্রথম জিনিসটি পুরো "ক্লাস" বনাম "প্রোটোটাইপ" প্রশ্ন। ধারণাটি মূলত সিমুলায় শুরু হয়েছিল, যেখানে শ্রেণিভিত্তিক পদ্ধতির সাহায্যে প্রতিটি শ্রেণি একযোগে অবজেক্টগুলির একটি সেটকে প্রতিনিধিত্ব করে যা একই রাষ্ট্রীয় স্থান ("সম্ভাব্য মানগুলি পড়ুন") এবং একই ক্রিয়াকলাপকে ভাগ করে, যার ফলে একটি সমতুল্য শ্রেণি গঠিত হয়। আপনি যদি স্মার্টটাকের দিকে ফিরে তাকান, যেহেতু আপনি একটি ক্লাস খুলতে এবং পদ্ধতিগুলি যুক্ত করতে পারেন, এটি কার্যকরভাবে জাভাস্ক্রিপ্টে আপনি যা করতে পারেন তার সমান।
পরে ওও ভাষাগুলি স্থিতিশীল ধরণের চেকিং ব্যবহার করতে সক্ষম হতে চেয়েছিল, তাই আমরা সংকলনের সময় একটি নির্দিষ্ট শ্রেণির সেট ধারণাটি পেয়েছিলাম। ওপেন-ক্লাস ভার্সনে আপনার আরও নমনীয়তা ছিল; নতুন সংস্করণে, আপনার কাছে সংকলকটিতে এমন কিছু ধরণের নির্ভুলতা পরীক্ষা করার দক্ষতা ছিল যা অন্যথায় পরীক্ষার দরকার পড়ে।
একটি "শ্রেণিভিত্তিক" ভাষায়, অনুলিপিটি সংকলনের সময়ে ঘটে। একটি প্রোটোটাইপ ভাষায়, অপারেশনগুলি প্রোটোটাইপ ডেটা স্ট্রাকচারে সংরক্ষণ করা হয়, যা রান সময়ে অনুলিপি করা হয় এবং সংশোধিত হয়। বিমূর্তভাবে, যদিও, একটি শ্রেণি এখনও সমস্ত বস্তুর সমতুল্য শ্রেণি যা একই রাজ্যের স্থান এবং পদ্ধতিগুলি ভাগ করে। আপনি যখন প্রোটোটাইপে কোনও পদ্ধতি যুক্ত করেন, আপনি কার্যকরভাবে একটি নতুন সমতুল্য শ্রেণীর একটি উপাদান তৈরি করছেন।
এখন, কেন? প্রাথমিকভাবে কারণ এটি রান সময়ে একটি সাধারণ, যৌক্তিক, মার্জিত প্রক্রিয়া তৈরি করে। এখন, একটি নতুন অবজেক্ট তৈরি করতে , বা একটি নতুন শ্রেণি তৈরি করতে, আপনাকে কেবল সমস্ত ডেটা এবং প্রোটোটাইপ ডেটা কাঠামো অনুলিপি করে একটি গভীর অনুলিপি সম্পাদন করতে হবে। তারপরে আপনি উত্তরাধিকার এবং পলিমারফিজম আরও কম-বেশি নিখরচায় পাবেন: পদ্ধতি অনুসন্ধানে সর্বদা নাম দ্বারা একটি পদ্ধতি প্রয়োগের জন্য একটি অভিধান জিজ্ঞাসা করে।
জাভাস্ক্রিপ্ট / ইসিএমএ স্ক্রিপ্টে শেষ হওয়ার কারণটি মূলত হ'ল আমরা যখন এই 10 বছর আগে শুরু করেছি তখন আমরা খুব কম শক্তিশালী কম্পিউটার এবং অনেক কম পরিশীলিত ব্রাউজারগুলির সাথে কাজ করছিলাম। প্রোটোটাইপ-ভিত্তিক পদ্ধতিটি বেছে নেওয়ার অর্থ হ'ল অবজেক্টের অবস্থানের পছন্দসই বৈশিষ্ট্যগুলি সংরক্ষণ করার সময় দোভাষী খুব সহজ হতে পারে।