আমি বাস্তব-জগতের বিষয়গুলিতে মনোনিবেশ করব না এবং আমি ম্যাসেজিংয়েও মনোযোগ দেব না। বরং আমি উদাহরণ ব্যবহার করেছি গ্রাফিক্সে, যেখানে আপনার কাছে এমন অবজেক্ট থাকতে চান যা "নিজেরাই কীভাবে আঁকতে হয়"।
উদাহরণস্বরূপ, আপনি সি-তে কাজ করছেন তবে এতে OO অন্তর্নির্মিত নেই, আপনি ডেটা অবজেক্টের অভ্যন্তরে ফাংশনগুলিতে পয়েন্টারগুলি সংরক্ষণ করা সুবিধাজনক হতে পারেন। যদি আপনি তা করেন তবে আপনি ওওপিতে প্রবেশ করছেন।
আমি অ্যালান কে-কে উল্লেখ করতে পছন্দ করি না যেন তিনি মোশি ট্যাবলেটগুলি দিয়েছিলেন। বরং, তিনি গণিত এবং জৈব প্রশিক্ষণ পেয়েছিলেন, আমি বিশ্বাস করি। গণিতের লোক হিসাবে তার সম্ভবত ল্যাম্বদা ক্যালকুলাসের সাথে কিছুটা পরিচিতি ছিল, যা বেশ বিমূর্ত ছিল, হার্ডওয়্যার সম্পর্কিত নয়। এলসিতে, আপনি বলতে পারেন যে সমস্ত কিছু একটি "অবজেক্ট" - যেমন সংখ্যা 0 এবং 1 নম্বর এমন বস্তু যা আর্গুমেন্ট দেওয়ার সময় বিভিন্ন জিনিসকে মূল্যায়ন করে। এটি বেশ সুন্দরভাবে স্মলটকের দিকে নিয়ে যায়। "বার্তা" ধারণাটি তাই আমরা হার্ডওয়্যার সম্পর্কে কথা এড়াতে পারি। আপনি বলতে পারেন যে আপনি যখন কোনও ফাংশন (বা কোনও অবজেক্টের কোনও পদ্ধতি) কল করেন তখন আপনি এটিকে বার্তা পাঠাচ্ছেন, এবং যখন এটি ফিরে আসে তখন এটি আপনাকে (বা আপনার ধারাবাহিকতায়) একটি বার্তা প্রেরণ করে। এটি পৃথক হার্ডওয়্যারে অ্যাসিক্রোনালিকভাবে চলমান প্রোগ্রামগুলির মধ্যে যোগাযোগের উপায়গুলি বর্ণনা করার একটি উপায় হিসাবে ল্যাচ করা হয়েছিল ched সেটা ঠিক আছে, তবে সাধারণ প্রোগ্রামিংয়ের জন্য এটি বহন করা হচ্ছে। ওওপি ধারণাটির মান পেতে আপনার যে কংক্রিটের কাজটি করার চেষ্টা করছেন তার প্রাসঙ্গিকতা অস্বীকার করার দরকার নেই বা আপনি যে হার্ডওয়্যারটি চালাচ্ছেন তার সংক্ষিপ্ততা অস্বীকার করার প্রয়োজন নেই। আমি মনে করি সংবিধানযুক্ত উপমাগুলির ক্ষেত্রে ওওপি সম্পর্কে পড়াশোনা করার ফলে লোকেরা ডেটা স্ট্রাকচারের ক্ষেত্রে সফ্টওয়্যার ডিজাইন সম্পর্কে খুব বেশি চিন্তাভাবনা করতে পরিচালিত করে, এর ওভার ডিজাইনের দিকে পরিচালিত করে কোড ব্লাট এবং বিশাল পারফরম্যান্স সমস্যার দিকে পরিচালিত করে যে আমাকে পরিষ্কার করতে সময় ব্যয় করতে হবে এটি যথেষ্ট খারাপ হয়।