- •Объектно-ориентированное программирование
- •1. Классы и объекты в ооп.
- •2. Абстрагирование в ооп.
- •3. Инкапсуляция в ооп.
- •4. Наследование в ооп.
- •5. Полиморфизм в ооп.
- •6. Описание классов с с#.
- •7. Модификаторы доступа к компонентам классов в с#.
- •8. Статические компоненты класса в c#
- •9. Способы достижения инкапсуляции в c#.
- •10. Свойства классов в c#
- •11. Конструкторы классов в c#. Порядок вызова конструкторов.
- •12. Использование ключевого слова this в c#.
- •13. Передача параметров методов в c#
- •14. Структурные (value-based) и ссылочные (reference-based) типы.
- •15. Перечисляемые типы в c#.
- •16. Перегрузка операторов в c#.
- •17. Исключительные ситуации в c#.
- •18. Способы обработки ошибок.
- •19. Платформа .Net: основные компоненты в c#.
- •20. Механизмы управления памятью в c#
- •21. Наследование в c#
- •22. Классы, закрытые для наследования в c#
- •23. Модификатор new в c#
- •24.Полиморфизм в c#.
- •25. Виртуальные и невиртуальные методы в c#.
- •26. Приведение и проверка типов в c#.
- •27. Абстрактные классы в c#.
- •28. Интерфейсы в с#.
- •29. Виды массивов в c#.
- •30. Пользователькие индексаторы в c#.
30. Пользователькие индексаторы в c#.
Это аналог оператора индекс массива в C и C++. Индексатор обычно используется для тех классов, которые представляют коллекцию объектов. Синтаксис:
num this [тип аргумента]
{get;
set;}
Индексатор м.б. для чтения, для записи и для чтения и для записи. Индексатор не м.б. static. В качестве индекса принято использовать целочисленный тип. Но это не обязательно.
Class IndexClass
{
Private int a = 18;
Private int b = 7;
Public int this [int index]
{
Get
{
Switch (index) {case 1: return a;
case 2: return b;
default: throw new IndexOutOfRahge();}
}
Set {
Switch (index) {case 1: a = value; break;
case 2: b = Value; break;
default: throw new IndexOutOfRange();}
}
}}
IndexClass ic = new IndexClass();
Console.Writeline (ic [1]);
Ic [2] = 13;
Одновременно у класса м.б. любое количество индексаторов. Можно определить индексаторы с несколькими индексаторами.