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