Наследование интерфейсов Интерфейсные свойства


Download 0.67 Mb.
bet8/8
Sana18.06.2023
Hajmi0.67 Mb.
#1571717
1   2   3   4   5   6   7   8
Bog'liq
Абстракатные классы

Интерфейсные индексаторы


В интерфейсе можно также указывать индексаторы. Ниже приведена общая форма объявления интерфейсного индексатора:
// Интерфейсный индексатортип_элемента 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:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling