মিক্সিন এবং বৈশিষ্ট্যের মধ্যে পার্থক্য কী?
উইকিপিডিয়া অনুসারে , রুবি মডিউলগুলি বৈশিষ্ট্যের মতো। তা কিভাবে?
মিক্সিন এবং বৈশিষ্ট্যের মধ্যে পার্থক্য কী?
উইকিপিডিয়া অনুসারে , রুবি মডিউলগুলি বৈশিষ্ট্যের মতো। তা কিভাবে?
উত্তর:
বিজ্ঞাপন 1. মিশ্রণগুলিতে আপনি উদাহরণ ভেরিয়েবল সংজ্ঞায়িত করতে পারেন। বৈশিষ্ট্যগুলি এটির অনুমতি দেয় না। রাজ্যটি অবশ্যই ক্লাস রচনা করে সরবরাহ করা উচিত (= বৈশিষ্ট্য ব্যবহার করে শ্রেণি)
বিজ্ঞাপন 2.
নাম বিরোধ হতে পারে। দুটি সংশ্লেষ ( MA
এবং MB
) বা বৈশিষ্ট্য ( TA
এবং TB
) একই সংজ্ঞা দিয়ে পদ্ধতি নির্ধারণ করে foo():void
।
Mixin MA {
foo():void {
print 'hello'
}
}
Mixin MB {
foo():void {
print 'bye'
}
}
Trait TA {
foo():void {
print 'hello'
}
}
Trait TB {
foo():void {
print 'bye'
}
}
মিশ্রণগুলিতে রচনাশ্রেণীর দ্বন্দ্বগুলি C mixins MA, MB
সুস্পষ্টভাবে সমাধান করা হয়।
Class C mixins MA, MB {
bar():void {
foo();
}
}
এটি foo():void
থেকে কল হবেMA
অন্যদিকে ট্রেইটস ব্যবহার করার সময়, রচনাশ্রেণীকে দ্বন্দ্বগুলি সমাধান করতে হবে।
Class C mixins TA, TB {
bar():void {
foo();
}
}
এই কোডটি দ্বন্দ্ব উত্থাপন করবে (দুটি সংজ্ঞা foo():void
)।
বিজ্ঞাপন 3. কোনও পদ্ধতির শব্দার্থবিজ্ঞানের উপর নির্ভর করে না এটির বৈশিষ্ট্য বা বৈশিষ্ট্য ব্যবহার করে এমন শ্রেণিতে সংজ্ঞায়িত করা হয়েছে কিনা।
অন্য কথায়, ক্লাসটি যেভাবেই বৈশিষ্ট্যগুলি নিয়ে গঠিত বা Traits কোডটি "অনুলিপি - পেস্ট" ক্লাসে অন্তর্ভুক্ত তা বিবেচ্য নয়।
এই পৃষ্ঠাগুলি ডি প্রোগ্রামিং ভাষার পার্থক্য ব্যাখ্যা করে।
এই প্রসঙ্গে মিক্সিনগুলি ফ্লাইয়ে কোড উত্পন্ন হয় এবং সংকলনের সময় কোডটিতে সেই বিন্দুতে .োকানো হয়। সাধারণ ডিএসএলগুলির জন্য বেশ সুবিধাজনক।
বৈশিষ্ট্যগুলি বাইরের মানগুলি সংকলন করে (বাহ্যিক উত্স থেকে উত্পন্ন কোডের চেয়ে)। পার্থক্যটি সূক্ষ্ম। মিকিনস যুক্তি যুক্ত করে, বৈশিষ্ট্যগুলি সংকলন-সময় ধরণের তথ্যের মতো ডেটা যুক্ত করে।
রুবির সম্পর্কে বেশি কিছু জানেন না তবে আশা করি এটি কিছুটা সাহায্য করবে।