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


Download 0.51 Mb.
bet7/17
Sana23.12.2022
Hajmi0.51 Mb.
#1046847
1   2   3   4   5   6   7   8   9   10   ...   17
Bog'liq
C#да ПОЛИМОРФИЗМ ва ИНТЕРФЕЙСЛАР

Связанные темы

1. Назначение интерфейсов. Особенности применения интерфейсов в C#
Интерфейс определяет ряд методов (свойств, индексаторов, событий), которые должны быть реализованы в классе, который наследует (реализует) данный интерфейс. Интерфейсы используются для того, чтобы указать классам, что именно нужно реализовать в этих классах. Реализовывать нужно методы (свойства, индексаторы, события). Таким образом, интерфейс описывает функциональные возможности без конкретной реализации. Иными словами интерфейс определяет спецификацию но не реализацию.
Использование интерфейсов есть эффективным в случаях, когда нужно создать альтернативу множественного наследования. Любой класс может унаследовать несколько интерфейсов. При этом все методы унаследованных интерфейсов должны быть реализованы в классе.
Структура также как и класс может реализовывать любое количество интерфейсов.
Особенности интерфейсов

  • в интерфейсе нельзя вписывать реализацию его элементов;

  • невозможно создать экземпляр интерфейса;

  • можно создать ссылку на интерфейс;

  • в интерфейсе не может быть конструкторов;

  • интерфейс не может содержать поля;

  • в интерфейсе не может быть осуществлена перегрузка операторов;

  • все методы интерфейса по умолчанию объявлены как public.

При использовании интерфейсов в классах-наследниках:

  • запрещено изменять модификатор доступа для метода при его реализации;

  • невозможно объявить методы интерфейса как virtual;

  • запрещено объявлять методы интерфейса с ключевым словом static (как статические).

1. Интерфейсларнинг мақсади. C# да интерфейслардан фойдаланиш хусусиятлари


Интерфейс берилган интерфейсни мерос қилиб оладиган (амалга оширувчи) синфда амалга оширилиши керак бўлган методлар (хусусиятлар, индексаторлар, ҳодисалар) тўпламини белгилайди. Интерфейслар синфларга ушбу синфларда нимани амалга ошириш кераклигини айтиш учун ишлатилади. Методларни (хусусиятлар, индексаторлар, ҳодисалар) амалга ошириш керак. Шундай қилиб, интерфейс аниқ амалга оширишсиз функсионаллик имкониятни тавсифлайди. Бошқача қилиб айтганда, интерфейс спецификацияни (таснифлашни) белгилайди, лекин амалга оширишни емас.
Интерфейслардан фойдаланиш бир нечта меросга муқобил (алтернатива) яратиш керак бўлган ҳолларда самарали бўлади. Ҳар қандай синф бир нечта интерфейсларни мерос (авлод) қилиб олиши мумкин. Бундай ҳолда, мерос қилиб олинган интерфейсларнинг барча методлари синфда амалга оширилиши керак.
Структура, худди синф каби, исталган сонли интерфейсларни амалга ошириши мумкин.

Download 0.51 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   ...   17




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