কৌতূহলের বাইরে, এমন কোন ভাষা রয়েছে যেগুলি আপনাকে নতুন ধরণের তৈরি করতে টাইপগুলিতে গাণিতিক সেট করতে দেয়? কিছুটা এইরকম:
interface A {
void a();
void b();
}
interface B {
void b();
void c();
}
interface C = A & B; // has b()
interface D = A | B; // has a(), b() and c()
interface E = (A & B) ^ B; // has c()
আমি জানি যে কয়েকটি ভাষায় এই ধারণাগুলি প্রকাশ করা যেতে পারে (অর্থাত্ জাভা List<Comparable & Serializable>ইন্টারফেসগুলির মিলনের জন্য রয়েছে) তবে আমি এমন ভাষা কখনও শুনিনি যা পাটিগণিত টাইপ সমর্থন করে। ধন্যবাদ!
CanWriteAndCompare extends Serializable, Comparable {}) এবং আমি কীভাবে এটি সাধারণীকরণ করব তা ভাবছিলাম।
Aবা Bবাস্তবায়ন একইরকম দেখতে দুটি বাস্তবায়ন সহ গ্রহণ করতে পারে a পদ্ধতিতে আমি একটি পলিমারফিক পদ্ধতিতে কল করছি যা একটি Aবা একটি নিতে পারে B, তাই বাস্তবায়নগুলি একই রকম, তবে যেহেতু আমাকে দুটি স্বতন্ত্র ধরণের নিতে হবে আমার দুটি বাস্তবায়ন প্রয়োজন। আমি করতে পারলে এটি আরও সহজ হত myMethod(A | B aOrB)।
Orঅপারেশন একাধিক উত্তরাধিকার দ্বারা অনুকরণ করা যেতে পারে।