русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Рекомендації по програмуванню


Дата додавання: 2015-01-08; переглядів: 902.


Інтерфейси найчастіше використовуються для завдання загальних властивостей об'єктів різних ієрархій. Основна ідея інтерфейсу полягає в тому, що до об'єктів класів, що реалізовують інтерфейс, можна звертатися однаковим чином. При цьому кожен клас може визначати елементи інтерфейсу по-своєму.

Якщо якийсь набір дій має сенс тільки для якоїсь конкретної ієрархії класів, що реалізовують ці дії різними способами, доречніше задати цей набір у вигляді віртуальних методів абстрактного базового класу ієрархії.

У С# підтримується одиночне спадкоємство для класів і множинне - для інтерфейсів. Це дозволяє додати похідному класу властивості декількох базових інтерфейсів. Клас повинен визначати всі методи всіх інтерфейсів, які є в списку його предків.

У бібліотеці .NET визначена велика кількість стандартних інтерфейсів. Реалізація стандартних інтерфейсів у власних класах дозволяє використовувати для об'єктів цих класів стандартні засоби мови і бібліотеки.

Наприклад, для забезпечення можливості сортування об'єктів стандартними методами слід реалізувати у відповідному класі інтерфейси IComparable або IComparer. Реалізація інтерфейсів IEnumerable і IEnumerator дає можливість проглядати вміст об'єкту за допомогою конструкції foreach, а реалізація інтерфейсу ICloneable - клонувати об'єкти.

Використання ітераторів спрощує організацію перебору елементів і дозволяє задати для одного і того ж класу різні стратегії перебору.

Сфера застосування структур - типи даних, що мають невелику кількість полів, з якими зручніше працювати як із значеннями, а не як з посиланнями. Накладні витрати на динамічне виділення пам'яті для екземплярів невеликих класів можуть значно понизити швидкодію програми, тому їх ефективніше описувати як структури.

Перевага використання перелічення для опису зв'язаних між собою значень полягає в тому, що це наочніше і інкапсульовано, чим велика кількість іменованих констант. Крім того, компілятор виконує перевірку типів, а інтегроване середовище розробки підказує можливі значення констант, виводячи їх список.

 


<== попередня лекція | наступна лекція ==>
Базовий клас System.Enum | Використання делегатів


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн