- •1. Эволюция языков прогр-я.
- •2. Что такое .Net? Обзор технологий программирования под Windows.
- •3. Компоненты платформы .Net. Что такое .Net Framework?
- •4. Модель выполнения приложения в среде .NetFramework. Промежуточныйязык Microsoft (Microsoft Intermediate Language, msil). Сборки
- •5. Обзор встр. Типов данных в с#. Применение встроенной функц-сти типов данных.
- •6. Операции ввода-вывода. Формат вывода. Пространство имён System. Класс Math. Пространство имён System и класс Math
- •7. Арифметические операции. Операции отношений и логические операции. Операторы и выражения в c# .
- •Операторы сравнения в c#. Лог. Операции для условий
- •Операторы
- •8. Одномерные массивы в c#. Класс System.Random, применение его методов для создания массива случайных чисел. Класс System.Array, использование его методов и свойства Length.
- •9. Двумерныемассивы в c#. Виды двумерных массивови способы их определения; способы создания; построчный вывод на экран
- •10. Структуры в c#. Создание структур, доступ к элементам, массивы структур.
- •11.Объект и его свойства. Характеристики ооп.
- •12.Классы в c#. Форма определения класса. Члены класса: методы, поля, свойства и события.
- •13.Конструкторы. Параметризованные конструкторы. Использование оператора new.
- •14. Типы значений и ссылочные типы. Динамическое использование памяти: стеки и кучи. Упаковка и распаковка.
- •15. Деструкторы. Сборка «мусора».
- •16. Определение методов класса. Модификаторы доступа к методам класса. Параметры методов класса, передача аргументов.
- •17. Модификаторы ref, out, params параметров методов.
- •18. Общие (статические) члены класса. Доступ к общим членам. Ограничения на static-методы.
- •19.Область видимости и время существования переменных.
- •20. Преобразование и приведение типов.
- •21. Обработка исключительных ситуаций.
- •22. Перегрузка методов и перегрузка конструкторовкак механизм реализации полиморфизма. Виды конструкторов.
- •23. Понятие стека. Класс «Стек из символов», его основные методы.
- •24. Перегрузка операторов. Перегрузка бинарных, унарных и операторов отношений.
- •25. Свойства как механизм реализации инкапсуляции. Формат записи свойств.
- •26. Индексаторы. Специальные приемы построения типов. Создание одномерных и двумерных индексаторов.
- •27.Наследование. Базовые и производные классы. Доступы к членам базовых классов.
- •28.Конструкторы и наследование (проект «Наследование»).
- •29. Ссылки на базовый класс и объекты производных классов.
- •30. Виртуальные методы и их переопределение.
- •31. Абстрактные классы.
- •32. Понятие интерфейса. Определение интерфейса.
- •33. Способы реализации интерфейса.
- •34.Некоторые станд.Интерфейсы среды .Net Framework.
- •35. Механизмы реализации полиморфизма в c#.
- •36. Понятие обобщенного программирования. Принципы обобщенного программирования (абстрагирование, иерархия, типизация).
- •37. Коллекции и наборы. Обзор коллекций. Интерфейсы коллекций. Классы коллекций общего назначения.
- •38. Классы ArrayList, Queue, Stack. Методы работы с различными структурами данных.
- •39. Динамическая идентификация типов. Проверка типа с помощью ключевого слова is. Использование операторов as, typeof.
- •40. Обобщение. Разработка обобщенных наборов, методов, классов.
- •41. Отражение и атрибуты. Понятие отражения. Класс System.Type. Получение информации о методах и типах. Атрибуты. Основы применения атрибутов.
- •42.Принципы работы Windows-приложений c пользователем.
- •43. Делегаты. Назначение делегатов. Многоадресатная передача.
- •44. События. Объявление и генерация событий. Реализация обработчиков событий.
- •Объявление события:
- •45.Понятие компонента и компонентной модели, компонентно-ориентированного программирования.
- •46.Принципы и технологии внедрения и связывания объектов. Ос Windows позволяет:
16. Определение методов класса. Модификаторы доступа к методам класса. Параметры методов класса, передача аргументов.
this– специальная переменная, которая доступна во всех методах класса, //в том числе и в конструкторах. This всегда ссылается на текущий экземпляр. Методы Get_x и Get_y служат для обращения к закрытым переменным класса. В C# для доступа к закрытым переменным используются свойства. Они сочетают в себе методы get и set. Как происходит передача аргументов методу класса? Изменения, внес. в параметры метода, не влияют на аргументы, используемые при вызове, сканировались. Первый способ передачи аргумента - вызов по значению (call-by-value). При передаче методу значения не ссылочного типа происх. вызов по значению. Для получения доступа к реальному аргументу, заданному при вызове, исп. ссылка на аргумент. Второй способ передачи аргумента наз. вызовом по ссылке (cale-by-reference). Изменения, внес. в параметр, воздействуют на аргумент, исп-мый при вызове метода. Объекты передаются методу путем вызова по ссылке. Если не ссылочный параметр передается методу по значению, то, изменяя параметр, мы не влияем на реальный аргумент. Модификаторы ref, out и params для пар-ров методов. Мод-тор ref пишут и перед параметром в методе, и перед аргументом в вызове метода. Аргументу, передаваемому методу со словом ref, должно быть присвоено значение до вызова метода. Ведь параметр должен ссылаться на действит. значение. Ref обычно прим. для того, чтобы метод внес изменения в сущ-щие. Параметры out работают точно так же, как и параметры ref, но в них разрешается передавать не инициализируемые переменные. Но чаще всего, модификатор out исп-ся не для передачи значения методу, а для его получения из метода. Не нужно тогда переменной (аргументу со словом out) присваивать начальное значение до вызова метода. Примечание:Метод (до своего завершения) обязательно должен присвоить out-параметру значение. Модификаторы ref и out можно применять и к ссылочным параметрам, т.е параметрам-объектам. В этом случае реал-ся передача ссылки по ссылке. Это позволяет методу изменять объект, на кот. указывает ссылка-параметр. Использование переменного количества аргументов и модификатор params. Иногда нужен метод, который принимал бы произвольное число аргументов. Например, метод, который находит максимальное значение в наборе чисел. Методу может быть передано 2, 3, 4 и т.д значения. Такому методу нужен специальный параметр, который заменяет собой произвольное количество параметров. Это реализуется с помощью модификатора params. Модификатор params используется для объявления параметра массива, который сможет получить некоторое количество аргументов (в том числе и нулевое). Количество элементов в массиве будет равно числу аргументов, переданных методу. Примечание:В любом методе может быть только один модификатор params. Параметр с модификатором params может быть только последним параметром в списке параметров метода.
17. Модификаторы ref, out, params параметров методов.
Мод-тор ref пишут и перед параметром в методе, и перед аргументом в вызове метода. Аргументу, передаваемому методу со словом ref, должно быть присвоено значение до вызова метода. Ведь параметр должен ссылаться на действит. значение. Ref обычно прим. для того, чтобы метод внес изменения в сущ-щие. Параметры out работают точно так же, как и параметры ref, но в них разрешается передавать не инициализируемые переменные. Но чаще всего, модификатор out исп-ся не для передачи значения методу, а для его получения из метода. Не нужно тогда переменной (аргументу со словом out) присваивать начальное значение до вызова метода. Примечание:Метод обязательно должен присвоить out-параметру значение. Модификаторы ref и out можно применять и к ссылочным параметрам, т.е параметрам-объектам. В этом случае реал-ся передача ссылки по ссылке. Это позволяет методу изменять объект, на кот. указывает ссылка-параметр. Использование переменного количества аргументов и модификатор params.Иногда нужен метод, который принимал бы произвольное число аргументов. Например, метод, который находит максимальное значение в наборе чисел. Методу может быть передано 2, 3, 4 и т.д. значения. Такому методу нужен специальный параметр, который заменяет собой произвольное количество параметров. Это реализуется с помощью модификатора params. Модификатор params используется для объявления параметра массива, который сможет получить некоторое количество аргументов (в том числе и нулевое). В любом методе может быть только один модификатор params. Параметр с модификатором params может быть только последним параметром в списке параметров метода.