প্রকার সেট নয়।
আপনি দেখুন, সেট তত্ত্বের এমন অনেকগুলি বৈশিষ্ট্য রয়েছে যা কেবল প্রকারের জন্য প্রযোজ্য নয় এবং বিপরীত । উদাহরণস্বরূপ, একটি অবজেক্টের একটি একক ক্যানোনিকাল টাইপ রয়েছে। এটি বেশ কয়েকটি বিভিন্ন ধরণের উদাহরণ হতে পারে তবে এগুলি ইনস্ট্যান্ট করার জন্য কেবল এই ধরণের একটি ব্যবহার করা হয়েছিল। সেট তত্ত্বের "ক্যানোনিকাল" সেটগুলির কোনও ধারণা নেই।
সেট থিওরি আপনাকে ফ্লাইতে সাবসেটগুলি তৈরি করতে দেয় , যদি আপনার কোনও নিয়ম থাকে যা সাবসেটের সাথে সম্পর্কিত তা বর্ণনা করে। প্রকারের তত্ত্বটি সাধারণত এটির অনুমতি দেয় না। যদিও বেশির ভাগ ভাষায় একটি আছে Number
টাইপ বা অনুরূপ কিছু, তারা না একটি আছে EvenNumber
টাইপ, না এটা একটি তৈরি করতে সহজবোধ্য হবে। আমি বোঝাতে চাইছি, প্রকারটি নিজেই সংজ্ঞায়িত করা যথেষ্ট সহজ, তবে যে বিদ্যমান বিদ্যমান Number
তা যাদুকরীভাবে এস তে রূপান্তরিত হবে না EvenNumber
।
প্রকৃতপক্ষে, আপনি উপ-উপগ্রহগুলি "তৈরি" করতে পারবেন তা বলাই কিছুটা ছদ্মবেশী, কারণ সেটগুলি পুরোপুরি একটি ভিন্ন ধরণের প্রাণী। সেট থিয়োরিতে, সেই সাবসেটগুলি ইতিমধ্যে বিদ্যমান রয়েছে , সমস্ত অসীম উপায়ে আপনি সেগুলি সংজ্ঞায়িত করতে পারেন। টাইপ থিওরিতে, আমরা সাধারণত প্রত্যাশিত যে কোনও নির্দিষ্ট সময়ে সীমাবদ্ধ (বড় হলে) ধরণের সংখ্যার সাথে কাজ করব। কেবলমাত্র যে ধরণের অস্তিত্বের কথা বলা হয় সেগুলি হ'ল আমরা প্রকৃতপক্ষে সংজ্ঞা দিয়েছি, প্রতিটি ধরণের আমরা সম্ভবত সংজ্ঞা দিতে পারি না।
সেটগুলি প্রত্যক্ষ বা অপ্রত্যক্ষভাবে তাদেরকে ধারণ করার অনুমতি নেই । পাইথনের মতো কিছু ভাষা কম নিয়মিত কাঠামোর সাথে প্রকার সরবরাহ করে (পাইথনে, type
এর ক্যানোনিকাল টাইপ হয় type
এবং object
এটি একটি উদাহরণ হিসাবে বিবেচিত হয় object
)। অন্যদিকে, বেশিরভাগ ভাষাগুলি ব্যবহারকারী-সংজ্ঞায়িত প্রকারকে এই ধরণের চালবাজিতে জড়িত থাকতে দেয় না ।
সেটগুলিকে সাধারণত একে অপরের মধ্যে অন্তর্ভুক্ত না করে ওভারল্যাপ করার অনুমতি দেওয়া হয়। এটি টাইপ থিওরিতে অস্বাভাবিক, যদিও কিছু ভাষাগুলি একাধিক উত্তরাধিকারের আকারে এটি সমর্থন করে। অন্যান্য ভাষা যেমন জাভা কেবলমাত্র এর একটি সীমিত আকারের অনুমতি দেয় বা এটি সম্পূর্ণরূপে অস্বীকার করে।
খালি প্রকারটি বিদ্যমান (একে নীচের ধরণের বলা হয় ) তবে বেশিরভাগ ভাষা এটিকে সমর্থন করে না, বা এটিকে প্রথম শ্রেণির ধরণ হিসাবে বিবেচনা করে না। "অন্যান্য ধরণের অন্যান্য ধরণের ধরণের" উপস্থিত রয়েছে (একে শীর্ষ ধরণের বলা হয় ) এবং সেট থিয়োরির বিপরীতে ব্যাপকভাবে সমর্থিত।
এনবি : কিছু মন্তব্যকারী আগে যেমন নির্দেশ করেছিলেন (থ্রেড চ্যাটে সরানোর আগে), সেট তত্ত্ব এবং অন্যান্য স্ট্যান্ডার্ড গাণিতিক নির্মাণের সাথে ধরণের মডেল করা সম্ভব। উদাহরণস্বরূপ, আপনি সেট হিসাবে মডেলিং ধরণের চেয়ে সম্পর্ক হিসাবে সদস্যতা টাইপ করতে পারেন। তবে বাস্তবে, আপনি যদি সেট থিওরিটির পরিবর্তে বিভাগ তত্ত্ব ব্যবহার করেন তবে এটি অনেক সহজ simp উদাহরণস্বরূপ, হ্যাসেল এটির টাইপ তত্ত্বকে মডেল করে।
"সাব টাইপিং" ধারণাটি "সাবসেট" এর ধারণার চেয়ে সত্যই আলাদা। যদি X
একটি উপপ্রকার হয় Y
, এটা মানে আমরা করতে পারেন প্রতিস্থাপন দৃষ্টান্ত Y
দৃষ্টান্ত জন্য X
এবং প্রোগ্রাম লেগে থাকব "কাজ" কিছু অর্থে। এটি কাঠামোগত পরিবর্তে আচরণগত, যদিও কিছু ভাষা (যেমন গো, মরিচা, যুক্তিযুক্ত সি) প্রোগ্রামার বা ভাষা প্রয়োগের ক্ষেত্রে সুবিধার কারণে পরবর্তীগুলি বেছে নিয়েছে।
a
এবংb
যে ধরনের সদস্য, হিসাবে Killian ওদিক উল্লেখ Myclass হয়। isomorphic ক্ষেত্রের সাথে রেকর্ডa
এবংb
ধরণint
এবংdouble
- আপনি যে মত একটি রেকর্ড গ্রহণ করা এবং এটি চালু মধ্যে পারে এর একটি দৃষ্টান্তmyclass
।