Наследование интерфейсов Интерфейсные свойства
Download 0.67 Mb.
|
Абстракатные классы
Интерфейсные индексаторыВ интерфейсе можно также указывать индексаторы. Ниже приведена общая форма объявления интерфейсного индексатора: // Интерфейсный индексатортип_элемента this[int индекс]{get;set;} Как и прежде, в объявлении интерфейсных индексаторов, доступных только для чтения или только для записи, должен присутствовать единственный аксессор: get или set соответственно. Давайте добавим в предыдущий пример реализацию индексатора: using System; namespace ConsoleApplication1 { interface IUserInfo { string Name { get; set; } string this[int index] { get; set; } } class UI : IUserInfo { string myName; public string Name { set { myName = value; } get { return myName; } } public string this[int index] { set { myName = value; } get { return myName; } } } class Program { static void Main() { UI user1 = new UI(); user1.Name = "Alexandr"; user1[5] = "Dmitryi"; user1[10] = "Alexey"; Console.ReadLine(); } } } Важно уяснить, что интерфейсы являются фундаментальным компонентом .NET Framework. Какого бы типа приложение не разрабатывалось (веб-приложение, приложение с настольным графическим интерфейсом, библиотека доступа к данными и т.п.), работа с интерфейсами будет обязательной частью этого процесса. Подводя итог всему изложенному, отметим, что интерфейсы могут приносить чрезвычайную пользу в следующих случаях: При наличии единой иерархии, в которой только какой-то набор производных типов поддерживает общее поведение. При необходимости моделировать общее поведение, которое должно встречаться в нескольких иерархиях, не имеющих общего родительского класса помимо System.Object. Download 0.67 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling