javascript - জাভাস্ক্রিপ্ট একটি প্রোটোটাইপ ভিত্তিক ভাষা মানে কি?



জাভাস্ক্রিপ্ট কি (5)

জাভাস্ক্রিপ্টের প্রধান সুবিধাগুলি হল এটি একটি প্রোটোটাইপ ভিত্তিক ভাষা বলে মনে করা হয়।

কিন্তু জাভাস্ক্রিপ্টটি প্রোটোটাইপ ভিত্তিক কী এবং এর অর্থ কী?

https://ffff65535.com


একটি ক্লাস গঠন ঘোষণা করার পরিবর্তে, আপনি একই ধরণের বস্তু তৈরি করতে পারেন এবং যে কোনও সময়ে যখন আপনি বস্তুর প্রোটোটাইপ ব্যবহার করতে চান তাদের সংজ্ঞাতে যোগ করতে পারেন। এটা জিনিস করার স্বাভাবিক উপায় চেয়ে বেশি নমনীয়।


একটি প্রোটোটাইপ ভিত্তিক ভাষা, ক্লাস বনাম বস্তুর পার্থক্য তৈরি করে না: এটি কেবল বস্তু আছে। একটি প্রোটোটাইপ-ভিত্তিক ভাষাতে একটি প্রোটোটাইপিক্যাল বস্তুর ধারণা রয়েছে, একটি বস্তু যা একটি নতুন টেমপ্লেটের জন্য প্রাথমিক বৈশিষ্ট্যগুলি পেতে একটি টেমপ্লেট হিসাবে ব্যবহৃত হয়। যেকোনো বস্তুর নিজস্ব বৈশিষ্ট্যগুলি নির্দিষ্ট করতে পারে, আপনি যখন এটি তৈরি করেন বা রান সময়তে থাকেন। উপরন্তু, কোন বস্তু অন্য বস্তুর জন্য প্রোটোটাইপ হিসাবে যুক্ত করা যেতে পারে , দ্বিতীয় বস্তুর প্রথম বস্তুর বৈশিষ্ট্যগুলি ভাগ করার অনুমতি দেয়।


প্রোটোটাইপ-ভিত্তিক প্রোগ্রামিং বস্তু-ভিত্তিক প্রোগ্রামিংগুলির একটি স্টাইল যেখানে ক্লাস উপস্থিত হয় না এবং আচরণ পুনঃব্যবহার (বা ক্লাস-ভিত্তিক ভাষাগুলিতে উত্তরাধিকার) বিদ্যমান বস্তুর ক্লোন করে যা প্রোটোটাইপ হিসাবে কাজ করে।


সব উত্তর পড়ার পর এই উপসংহার

1) ঐতিহ্য যা বস্তু সরাসরি অন্য বস্তুর থেকে উত্তরাধিকারী হয়

2) যে ক্লাস ব্যবহার করে না

3) এছাড়াও ইনস্ট্যান্স ভিত্তিক প্রোগ্রামিং বা ক্লাসless প্রোটোটাইপ ভিত্তিক প্রোগ্রামিং বলা হয়

4) আচরণ পুনরাবৃত্তি প্রোটোটাইপ হিসাবে কাজ করে বিদ্যমান বস্তু cloning দ্বারা সঞ্চালিত হয়

5) নতুন বস্তুর থেকে টেমপ্লেট হিসাবে ব্যবহৃত বস্তু প্রাথমিক বৈশিষ্ট্য পেতে


প্রোটোটাইপ উত্তরাধিকার বস্তু ভিত্তিক কোড পুনঃব্যবহারের একটি ফর্ম। প্রোটোটাইল উত্তরাধিকার ব্যবহার করতে জাভাস্ক্রিপ্ট একমাত্র [মূলধারার] বস্তু ভিত্তিক ভাষাগুলির মধ্যে একটি। প্রায় সব অন্যান্য বস্তু ভিত্তিক ভাষা ক্লাসিক হয়।

শাস্ত্রীয় উত্তরাধিকারে , প্রোগ্রামার একটি শ্রেণী লিখেছেন, যা একটি বস্তুকে সংজ্ঞায়িত করে। একাধিক বস্তু একই ক্লাস থেকে তাত্ক্ষণিকভাবে চালু করা যেতে পারে, সুতরাং আপনার কাছে এক জায়গায় কোড রয়েছে যা আপনার প্রোগ্রামে বিভিন্ন বস্তুর বর্ণনা করে। ক্লাসগুলিকে কোড পুনঃব্যবহার বাড়ানোর পরে, একটি অনুক্রমের মধ্যে সংগঠিত করা যেতে পারে। আরো সাধারণ কোড একটি উচ্চ স্তরের ক্লাসে সংরক্ষিত হয়, যার থেকে নিম্ন স্তরের ক্লাস উত্তরাধিকারী হয়। এর মানে হল যে একটি বস্তু একই ক্লাসের অন্যান্য বস্তুর পাশাপাশি তার মূল ক্লাসগুলির সাথেও কোড ভাগ করছে।

প্রোটোটাইল উত্তরাধিকার ফর্ম, বস্তু সরাসরি অন্যান্য বস্তুর কাছ থেকে উত্তরাধিকারী । ক্লাস সম্পর্কে ব্যবসা সব দূরে যায়। যদি আপনি একটি বস্তু চান, আপনি শুধু একটি বস্তু লিখুন। কিন্তু কোড পুনঃব্যবহার এখনও একটি মূল্যবান জিনিস, তাই বস্তুগুলিকে একটি অনুক্রমের সাথে সংযুক্ত করার অনুমতি দেওয়া হয়। জাভাস্ক্রিপ্টে, প্রতিটি বস্তুর একটি অবজেক্ট তৈরি করে এমন বস্তুর একটি গোপন লিঙ্ক রয়েছে। যখন কোনও বস্তুর কোন সম্পত্তিটির জন্য এটি চাওয়া হয় না, তখন তার অভিভাবকীয় বস্তুটি জিজ্ঞাসা করা হবে ... সম্পত্তিটি পাওয়া না হওয়া পর্যন্ত বা মূল অবধি পৌঁছা পর্যন্ত চেইনটি ক্রমাগত আপ করুন।

জাভাস্ক্রিপ্টে প্রতিটি ফাংশন (যা বস্তুগুলি নিজেই) আসলে "প্রোটোটাইপ" নামে একটি সদস্য থাকে, যা কোনও বস্তুর জন্য তাদের কাছে জিজ্ঞাসা করা হলে মান প্রদানের জন্য দায়ী। এই সদস্যটি কন্সট্রাকটর প্রক্রিয়া (যা বস্তুগুলি ফাংশন থেকে তৈরি করা হয়) কে কাজ করার অনুমতি দেয়। ফাংশন অবজেক্টের প্রোটোটাইপে একটি সম্পত্তি যুক্ত করলে এটি তৈরি বস্তুর সাথে সাথে এটির উত্তরাধিকারী সমস্ত বস্তুর জন্য উপলব্ধ হবে।

সুবিধাদি

প্রোটোটাইপ উত্তরাধিকার কোড-পুনঃব্যবহারের একটি সুবিধাজনক ফর্ম কেন একটি হার্ড এবং দ্রুত নিয়ম হতে পারে না। কোড পুনঃব্যবহার নিজেই সুবিধাজনক, এবং প্রোটোটাইপ উত্তরাধিকার এটি সম্পর্কে একটি বুদ্ধিমান উপায়। আপনি যুক্তিযুক্ত হতে পারেন যে প্রোটোটাইপ উত্তরাধিকার কোড পুনঃব্যবহারের একটি মোটামুটি সহজ মডেল , এবং সেই কোডটি সরাসরি ভাবে সরাসরি ব্যবহার করা যেতে পারে। কিন্তু শাস্ত্রীয় ভাষা অবশ্যই এই কাজটি সম্পাদন করতে সক্ষম।

Sidenote: @ অ্যান্ড্রু হেজেস একটি ভাল বিন্দু তোলে, আসলে many প্রোটোটাইপ ভাষা আছে। এটি অন্যের অস্তিত্বের কথা মনে রাখার পক্ষে মূল্যবান, তবে উল্লেখযোগ্য যে তাদের মধ্যে কেউই মূলধারার কাছাকাছি কিছু না। নিউটনস্ক্রিপ্টটি কিছুক্ষণের জন্য কিছু ট্র্যাকশন অনুভব করলো, কিন্তু এর প্ল্যাটফর্ম দিয়ে মারা গেল। প্রোটোটাইপ ক্ষমতা যোগ করার পদ্ধতিতে কিছু আধুনিক ভাষা প্রসারিত করাও সম্ভব।





prototype-programming