Uploaded by Abdulla Arzimurotov

ООП-экзам

advertisement
Вопросы к экзамену по дисциплине «Объектно-ориентированное программирование»
1. Структура программы на языке программирования C#.
2. Классификация типов данных. Встроенные типы данных.
3. Понятие и определение констант, переменных и параметров в C#. Понятие объявления и
инициализации переменной, области видимости и времени жизни.
4. Преобразование типов данных. Явные и неявные преобразования.
5. Преобразование типов данных. Методы Parse и TryParse. Класс Convert.
6. Понятие побитовых операторов и их использование.
7. Массивы. Размерность массива. Методы и свойства класса Array. Объявление одномерного
массива и его инициализация. Стандартные свойства и методы массива как объекта класса
Array. Примеры использование одномерного массива.
8. Многомерные массивы. Рваные массивы.
9. Стандартные свойства и методы массива как объекта класса Array. Примеры использование
не выровненного массива.
10. Строки как объекты класса String. Создание объектов класса string. Операции со строками.
Неизменность строк. Массивы строк.
11. Форматирование строк. Интерполяция строк.
12. Понятие структуры в языке C#. Отличие структуры от класса и примеры использования.
13. Синтаксис и семантика вызова метода. Понятие параметров метода. Типы аргументов и
способы обмена данными между методом и его клиентом: передача параметров по ссылке и
значению (Использование ключевых слов ref, out).
14. Методы. Параметры методов. Способы передачи аргументов. Возвращаемые результаты.
15. Методы с необязательными параметрами. Методы с именованными параметрами.
Перегрузка методов.
16. Принципы объектно-ориентированного программирования (ООП). Этапы разработки
программ при использовании ООП.
17. Основные концепции парадигмы ООП: наследование, полиморфизм, инкапсуляция.
18. Понятие класса как основной структурной единицы объектно-ориентированного
программирования. Семантика и синтаксис объявления и использования класса в C#.
19. Классы. Назначение, синтаксис объявления, спецификаторы доступа (private, public, protected,
internal), пример. Инкапсуляция и целостность типа.
20. Инкапсуляция. Методы доступа к закрытые данным. Свойства. Синтаксис описания и вызова
свойств. Свойства только для чтения и только для записи. Автоматические свойства.
21. Определение и использование свойств. Определение, методы доступа get() и set(), смысл
применения свойств.
22. Определение инкапсуляции в объектно-ориентированном программировании
23. Индексаторы. Назначение, синтаксис описания и вызова.
24. Синтаксис создания объекта (экземпляра класса). Использование методов и полей класса
25. Определение класса. Поля. Методы. Свойства. Конструкторы. Деструктор. Сбор мусора.
26. Понятие конструктора. Конструктор по умолчанию. Перегрузка конструктора.
27. Понятие деструктора. Перегрузка деструктора. Уничтожение объектов.
28. Скрытие значения поля класса локальной переменной метода. Ссылка this.
29. Семантика и синтаксис объявления статических полей и методов класса. Константные поля и
поля с доступом только для чтения. Примеры использования.
30. Ключевое слово this. Ключевое слово static. Статические конструкторы. Статические классы.
31. Перегрузка операций (унарные и бинарные операции, приведение типов). Назначение,
синтаксис объявления, пример.
32. Понятие и использование наследования в ООП. Базовые и производные классы. Запрет
наследования.
33. Наследование классов. Вызов родительского конструктора. Перекрытие родительских
элементов класса. Область видимости родительских элементов. Пример наследования
класса.
34. Перегрузка методов. Назначение, синтаксис объявления, пример.
35. Понятие полиморфизма в ООП и примеры его использования в ООП.
36. Полиморфизм. Назначение, примеры использования. Объявления виртуальных и абстрактных
методов.
37. Абстрактные классы. Абстрактные члены классов. Класс object. Интерфейсы. Работа с
объектами через стандартные интерфейсы .NET
38. Интерфейсы. Множественная реализация интерфейсов.
39. Виртуальная функция и полиморфизм.
40. Наследование классов. Вызов родительского конструктора. Перекрытие родительских
элементов класса. Область видимости родительских элементов. Пример наследования
класса.
41. Обработка исключительных ситуаций (try, catch и finally). Назначение, синтаксис описания,
пример.
42. Стандартные классы для обработки исключений, примеры.
43. Генерация программных исключений (throw). Назначение, синтаксис описания, пример.
44. Понятие потока. Классификация потоков. Основные классы для работы с файловыми
потоками. Режимы доступа к файлу, режимы открытия файла, режимы совместного
использования файла.
45. Потоки байтов FileStream.
46. Потоки символов StreamWriter и StreamReader.
47. Двоичные файлы BinaryWriter, BinaryReader.
Download