ক্লাসের দৃষ্টান্তের ভিত্তিতে এমন কোনও অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ রয়েছে কি?
ক্লাসের দৃষ্টান্তের ভিত্তিতে এমন কোনও অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ রয়েছে কি?
উত্তর:
আমি যতদূর জানি, স্বতন্ত্র মূল ভাষা যা প্রোটোটাইপের উপর ভিত্তি করে "শ্রেণী-মুক্ত" দৃষ্টান্ত আবিষ্কার করেছিল । এটি ইতিমধ্যে ১৯৮০ এর দশকে (একটি পরীক্ষামূলক পর্যায়ে) বিদ্যমান ছিল এবং স্মলটালকের প্রোটোটাইপ প্যাটার্নের মার্জিত ব্যবহারকে চূড়ান্ত দিকে ঠেলে দেয় , যেমন শ্রেণিগুলি সম্পূর্ণরূপে নির্মূল হয়।
এটি আমার পরিচিত অন্যান্য সমস্ত "ক্লাস-মুক্ত" ওও ভাষাগুলিকে প্রভাবিত করেছে:
জাভাস্ক্রিপ্টের মতো ভাষাগুলি প্রোটোটাইপের উপর ভিত্তি করে , যেখানে বিদ্যমান বস্তুগুলির ক্লোনিং করে আচরণ পুনরায় ব্যবহার করা হয়। আমি যে উইকিপিডিয়া নিবন্ধটির সাথে লিঙ্ক করেছি তা নির্দেশ করে যে লুয়া, অ্যাকশনস্ক্রিপ্ট এবং অন্যান্য বেশ কয়েকটি ভাষা এই দৃষ্টান্তটি অনুসরণ করে।
বিশ্বের সর্বাধিক জনপ্রিয় অবজেক্ট-ভিত্তিক প্রোগ্রামিং ভাষার ক্লাস নেই, এটি জাভাস্ক্রিপ্ট বলে এবং এটি প্রোটোটাইপ ভিত্তিক: http://en.wikedia.org/wiki/Pototype-based_programming
অবজেক্ট-ওরিয়েন্টেশন হল বেশ কয়েকটি গুরুত্বপূর্ণ ধারণার জন্য একটি ছাতা শব্দ যা কেবল একে অপরের উপর আংশিকভাবে নির্ভরশীল। উদাহরণস্বরূপ, উত্তরাধিকার ক্লাসের চেয়ে উদাহরণস্বরূপ কেস-বাই-কেস ভিত্তিতে ঘোষণা করা যেতে পারে, বা prototype
থমাস লিখেছেন, পুরো ক্লাসটি একটি কংক্রিট অবজেক্ট দ্বারা প্রতিনিধিত্ব করা যেতে পারে । উদাহরণ তৈরির থেকে কাঠামোর বিবরণ পৃথক করা কেবল আরও স্বাভাবিক। একইভাবে, দেরীতে বাইন্ডিংয়ের অর্থ হ'ল নামমাত্র একই পদ্ধতিযুক্ত বস্তুগুলি যখন অনুরোধ করা হয় তখন অগত্যা একই জিনিসটি না করে এবং রানটাইমে সিদ্ধান্ত নেওয়া হয়। প্রোটোটাইপ-ভিত্তিক পদ্ধতির মাধ্যমে এটি একইভাবে সম্ভব। এবং এনক্যাপসুলেশন মূলত সম্পূর্ণরূপে স্বতন্ত্র যে আপনার অবজেক্টগুলি ঘোষিত শ্রেণীর উদাহরণ কিনা।
এটি বলেছিল যে বেশিরভাগ ওও ভাষা ক্লাস-ভিত্তিক শিবিরে দৃly়ভাবে রয়েছে। তবে তারপরেও এমন আইডিয়া রয়েছে যা লাইনটি অস্পষ্ট করে তোলে: ডোমেন-চালিত নকশায় প্রায়শই এমন সিস্টেমে বাড়ে যেগুলিতে নির্দিষ্ট বস্তুর পরিচয় স্থিতিক শ্রেণীর ডায়াগ্রামের চেয়ে অনেক বেশি গুরুত্বপূর্ণ এবং সজ্জকরা একই শ্রেণি বা ইন্টারফেসের অবজেক্টগুলিকে খুব সামঞ্জস্য রাখার অনুমতি দেয় বিভিন্ন আচরণ
দুর্গ ক্লাসের পরিবর্তে বৈশিষ্ট্যের ভিত্তিতে অবজেক্ট-ওরিয়েন্টেড ভাষা। পার্থক্যটি মূলত বাস্তবায়ন রচনায়। কোনও সামগ্রীর আচরণের (পদ্ধতির সংজ্ঞা) এখনও প্রোগ্রামের পাঠ্যের একটি নির্দিষ্ট সময়ে ঘোষণার মাধ্যমে নির্ধারিত হয়। সুতরাং যে অর্থে এটি শ্রেণিবদ্ধ সিস্টেমের অনুরূপ।
অবজেক্ট ক্যালকুলি রয়েছে (কার্ডেলি দ্বারা, আমি মনে করি), সেগুলি নিখুঁতভাবে অবজেক্ট ভিত্তিক। প্রতিটি পদ্ধতি একটি উদাহরণ সদস্য। আপনি বিদ্যমান অবজেক্টের বিষয়বস্তু নিয়ে এবং এর সদস্যদের কিছু যোগ করে, অপসারণ করে বা প্রতিস্থাপন করে নতুন অবজেক্ট তৈরি করেন। এটি প্রোটোটাইপ থেকে কিছুটা পৃথক, যেহেতু নতুন বস্তুর পুরানো অবজেক্টের সাথে কোনও লিঙ্ক নেই, কেবলমাত্র এর কিছু বিষয়বস্তু।
আইআইআরসি, পাইথন এবং অন্যান্য হ্যাশটেবল-ওরিয়েন্টেড ভাষা ব্যবহার করে একইভাবে প্রোগ্রাম করা সম্ভব: আপনি উদাহরণস্বরূপ সদস্য হিসাবে একটি ফাংশন যুক্ত করতে পারেন এবং তারপরে এটি একটি পদ্ধতি হিসাবে কল করতে পারেন।
১৯৫৫ সালের সংশোধন অনুসারে আডা অবজেক্ট-ওরিয়েন্টেড, তবে অন্যান্য অনেক OO ভাষার মতো এটি অবজেক্ট-ওরিয়েন্টেড টাইপস এবং মডিউলগুলিকে "ক্লাস" নামক একক কনস্ট্রাক্টের সাথে একত্রিত করে না। কোনও ধরণের "শ্রেণি ফু" হিসাবে ঘোষণার পরিবর্তে এবং সম্পর্কিত সম্পর্কিত সমস্ত ঘোষণা ক্লাস ঘোষণার ভিতরে রাখার পরিবর্তে আপনি একটি প্যাকেজ ঘোষণা করেন record
এবং প্যাকেজের ভিতরে টাইপ (ক হিসাবে ) এবং অন্যান্য জিনিস ঘোষণা করেন । এটি উল্লেখ করা অন্যান্য কয়েকটি ভাষার যেভাবে "শ্রেণি-মুক্ত" নয়, জিনিসগুলি সংগঠিত করার এটি কিছুটা আলাদা উপায়।
অ্যাডা 95 এর অবজেক্ট-ভিত্তিক বৈশিষ্ট্যগুলি ভাষার বিদ্যমান 1983 সংস্করণে যুক্ত করা হয়েছিল; এটি উত্তরাধিকার এবং অন্যান্য সমর্থনের জন্য বিদ্যমান রেকর্ড এবং প্যাকেজ নির্মাণগুলি প্রসারিত করেছে।
আইও হ'ল আরেকটি প্রোটোটাইপ-ভিত্তিক অবজেক্ট-ভিত্তিক ভাষা। এটি ইতিমধ্যে অন্যান্য উত্তরে ইতিমধ্যে উল্লিখিত কয়েকটি ভাষা থেকে অনুপ্রেরণা তৈরি করে।
আইও একটি গতিশীল প্রোটোটাইপ-ভিত্তিক প্রোগ্রামিং ভাষা। আইওর ধারণাগুলি বেশিরভাগই স্মলটালক (সমস্ত মান অবজেক্টস), স্ব (প্রোটোটাইপ-ভিত্তিক), নিউটনস্ক্রিপ্ট (ডিফারেনশিয়াল উত্তরাধিকার), অ্যাক্ট 1 (চুক্তির জন্য অভিনেতা এবং ফিউচার), লিস্প (কোড একটি রানটাইম পরিদর্শনযোগ্য / সংশোধনযোগ্য গাছ) এবং লুয়া (ছোট, এম্বেডযোগ্য)।
Erlang। এবং হ্যাঁ, এরলং হ'ল একটি অবজেক্ট-ভিত্তিক ভাষা, কারণ এটি ওওর সংজ্ঞাটির তিনটি পয়েন্টই পূরণ করে।