রচনা এবং সমষ্টি
শ্রেণী এবং বস্তু একে অপরের সাথে সম্পর্কিত হতে পারে। উত্তরাধিকার একটি "IS A" সম্পর্ক বর্ণনা করে। সিংহ একটি প্রাণী। এই সম্পর্ক সহজেই উত্তরাধিকার ব্যবহার করে প্রকাশ করা হয়, যেখানে
Animal
পিতামাতার শ্রেণী হবে এবং
Lion
সন্তান হবে। কিন্তু পৃথিবীর প্রতিটি সম্পর্ককে এভাবে সঠিকভাবে বর্ণনা করা হয় না। উদাহরণস্বরূপ, একটি কম্পিউটারের সাথে একটি কীবোর্ডের অবশ্যই কিছু সম্পর্ক রয়েছে, কিন্তু
এটি একটি কম্পিউটার নয় । মানুষের সাথে হাতের কিছু সম্পর্ক আছে, কিন্তু তারা ব্যক্তি নয়। এই ক্ষেত্রে একটি ভিন্ন ধরনের সম্পর্কের প্রতিনিধিত্ব করে — "IS A" নয়, "HAS A"। হাত একটি ব্যক্তি নয়, কিন্তু একটি ব্যক্তির হাত আছে. একটি কীবোর্ড একটি কম্পিউটার নয়, তবে একটি কম্পিউটারে একটি কীবোর্ড রয়েছে। "আছে"
. এই ধারণাগুলির মধ্যে পার্থক্যটি সম্পর্কের "কঠোরতা" এর মধ্যে রয়েছে। আসুন একটি সাধারণ উদাহরণ নেওয়া যাক: আমাদের কাছে একটি
Car
. প্রতিটি গাড়ির একটি ইঞ্জিন আছে। এছাড়াও, প্রতিটি গাড়ি যাত্রী বহন করতে পারে।
Engine engine
এবং ক্ষেত্রের মধ্যে মৌলিক পার্থক্য কি
Passenger[] passengers
? যদি যাত্রী
A
একটি গাড়ির ভিতরে বসে থাকে, তার মানে এই নয় যে যাত্রীরা
B
এবং
C
গাড়িতেও থাকতে পারবেন না। একটি গাড়ি একাধিক যাত্রী বসাতে পারে। আরও কী, সমস্ত যাত্রী গাড়ি থেকে নামতে পারে, তবুও এটি মসৃণভাবে চলতে থাকবে।
Car
ক্লাস এবং অ্যারের মধ্যে সম্পর্ক
Passenger[] passengers
কম কঠোর। একে
একত্রীকরণ বলা হয় । এখানে এই বিষয়ে একটি ভাল নিবন্ধ আছে:
ক্লাসের মধ্যে সম্পর্ক (বস্তু). এটি সমষ্টির আরেকটি ভাল উদাহরণ প্রদান করে। ধরা যাক আমাদের একটি
Student
শ্রেণী রয়েছে যা একটি ছাত্রকে প্রতিনিধিত্ব করে এবং একটি
StudentGroup
যা ছাত্রদের একটি গ্রুপকে প্রতিনিধিত্ব করে। একজন ছাত্র একটি পদার্থবিদ্যা ক্লাব, একটি স্টার ওয়ার্স ছাত্র ফ্যান ক্লাব, বা একটি কমেডি ক্লাবের সদস্য হতে পারে।
রচনা একটি কঠোর ধরনের সম্পর্ক। রচনা ব্যবহার করার সময়, একটি বস্তুর অন্য বস্তু থাকে, কিন্তু এটি একই ধরনের অন্য বস্তুর অন্তর্গত হতে পারে না। সবচেয়ে সহজ উদাহরণ হল একটি গাড়ির ইঞ্জিন। যদি একটি গাড়ির ইঞ্জিন থাকে, তবে সেই ইঞ্জিনটি অন্য গাড়ির অন্তর্গত হতে পারে না। আপনি দেখতে পাচ্ছেন যে সম্পর্কটি
Car
এবং এর চেয়ে অনেক বেশি কঠোর
Passengers
।
GO TO FULL VERSION