কেন সি # এইভাবে ডিজাইন করা হয়েছিল?
আমি যেমন এটি বুঝতে পারি, একটি ইন্টারফেস কেবল আচরণের বর্ণনা দেয় এবং ইন্টারফেস প্রয়োগকারী শ্রেণীর জন্য একটি চুক্তিবদ্ধ বাধ্যবাধকতা বর্ণনা করার উদ্দেশ্যে কাজ করে যা নির্দিষ্ট আচরণ বাস্তবায়িত হয়।
শ্রেণিগুলি যদি এই আচরণটি একটি ভাগ করা পদ্ধতিতে প্রয়োগ করতে চায় তবে তাদের কেন করা উচিত নয়?
আমার মনে কী আছে তার উদাহরণ এখানে:
// These items will be displayed in a list on the screen.
public interface IListItem {
string ScreenName();
...
}
public class Animal: IListItem {
// All animals will be called "Animal".
public static string ScreenName() {
return "Animal";
}
....
}
public class Person: IListItem {
private string name;
// All persons will be called by their individual names.
public string ScreenName() {
return name;
}
....
}
IListItem.ScreenName() => ScreenName()
(সি # 7 সিনট্যাক্স ব্যবহার করে) স্থিতিশীল পদ্ধতিটি কল করে স্পষ্টভাবে ইন্টারফেস পদ্ধতিটি প্রয়োগ করবে। আপনি যখন উত্তরাধিকার যুক্ত করবেন তখন জিনিসগুলি কুশ্রী হয়ে ওঠে, যদিও (আপনাকে ইন্টারফেসটি পুনরায় প্রয়োগ করতে হবে)