1. Понятие позднего и раннего связывания. Ключевые слова virtual, override


Download 0.51 Mb.
bet17/17
Sana01.09.2023
Hajmi0.51 Mb.
#1672075
1   ...   9   10   11   12   13   14   15   16   17
Bog'liq
C# да ПОЛИМОРФИЗМ ва ИНТЕРФЕЙСЛАР

}
}
Пример 2. Есть два интерфейса MyInterface1 и MyInterface2. Каждый из них имеет методы с одинаковыми именами и сигнатурами. В данном случае это метод Method(), не возвращающий параметров (void). С помощью явной реализации класс распознает эти методы.
// интерфейс 1
interface MyInterface1
{
void Method();
}

// интерфейс 2
interface MyInterface2
{
void Method();
}

// класс, который использует два интерфейса
class MyClass : MyInterface1, MyInterface2
{
// явная реализация - модификатор доступа (public) должен отсутствовать
// метод из интерфейса MyInterface1
void MyInterface1.Method()
{
// тело метода
// ...
return;
}

// метод из интерфейса MyInterface2
void MyInterface2.Method()
{
// тело метода
// ...
return;
}
}

18. В каких случаях лучше использовать интерфейс, а в каких абстрактный класс?
Интерфейс целесообразно использовать в случаях, если некоторые понятия должны быть описаны с точки зрения функционального назначения, без уточнения деталей реализации.
Абстрактный класс целесообразно использовать тогда, когда все же нужно уточнять некоторые детали реализации.

18. Қачон интерфейсдан фойдаланиш яхшироқ, қачон абстракт синфдан фойдаланиш яхшироқ?


Интерфейсдан баъзи тушунчаларни функционал мақсад нуқтаи назаридан тавсифлаш керак бўлган ҳолларда, амалга ошириш тафсилотларини аниқламасдан фойдаланиш мақсадга мувофиқдир.

Амалга оширишнинг баъзи тафсилотларини аниқлаб олишингиз керак бўлганда абстракт синфдан фойдаланиш тавсия этилади.
Download 0.51 Mb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   17




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