- •1. Объектно-ориентированное программирование как идеология программирования и как технология. Достоинства и недостатки
- •2.Основные понятия объектно-ориентированного программирования — класс, объект, поле, метод, свойство.
- •4.Конструкторы и деструкторы. Функциональное назначение. Виды конструкторов.
- •5.Объекты и их жизненный цикл. Создание и уничтожение объектов.
- •6.Инкапсуляция. Определение. Функциональное назначение. Реализация. Примеры применения
- •7 Инкапсуляция. Свойства. Функциональное назначение. Реализация. Создание индексатора. Примеры применения.
- •8.Инкапсуляция. Скрытие членов класса. Функциональное назначение. Реализация. Примеры применения.
- •9.Наследование. Функциональное назначение. Реализация. Примеры применения.
- •10.Наследование. Конструктор по умолчанию. Назначение.
- •11. Методы. Определение. Функциональное назначение. Способы реализации. Примеры применения.
- •12.Полиморфизм. Функциональное назначение. Способы реализации. Примеры применения.
- •13.Перегрузка методов. Функциональное назначение. Способ реализации. Примеры применения.
- •14.Виртуальные методы. Функциональное назначение. Примеры применения.
- •15.Перегрузка операций. Функциональное назначение. Способ реализации. Примеры применения.
- •17.Исключительные ситуации. Понятие. Способы обработки исключительных ситуаций. Примеры применения.
- •18.Интерфейсы. Функциональное назначение. Иерархия интерфейсов. Множественное наследование: проблемы и способы их разрешения.
- •Концепция типа данных. Встроенные типы данных и их реализация в языке с#
- •2. Концепция типа данных. Соглашения о совместимости и приведение типов
- •4. Концепция типа данных. Символьные типы данных.
- •5. Концепция типа данных. Составные типы данных. Массивы и их реализация в с#. Структуры.
- •7. Концепция типа данных. Определение собственных типов данных.
- •8. Концепция типа данных. Значащие (размерные) (Value type) и ссылочные (Reference type) типы данных. Упаковка и распаковка (Boxing, Unboxing).
- •9. Концепция типа данных. Переменные и константы и их реализация в с#.
- •10. Принцип модульности программ. Глобальные и локальные имена. Область видимости имен. Выбор области видимости.
- •12. Унарные и мультипликативные операции. Примеры применений.
- •13. Аддитивные и сдвиговые операции. Примеры применений.
- •11. Принцип модульности программ. Метод, как отдельный модуль программы. Интерфейсная и скрытая часть метода. Формальные и фактические параметры метода. Примеры применения.
- •14. Операции отношения и действий над типами данных. Примеры применений.
- •15. Логические операции. Примеры применений.
- •17. Операторы перехода и оператор присваивания.
- •16. Организация циклов в с#. Примеры применений.
- •18. Операторы условного перехода. Примеры применений.
1.Объектно-ориентированное программирование как идеология программирования и как технология. Достоинства и недостатки.
1. Объектно-ориентированное программирование как идеология программирования и как технология. Достоинства и недостатки
Язык С# — это очередная ступень бесконечной эволюции языков программирования. Его создание вызвано процессом усовершенствования и адаптации, который определял разработку компьютерных языков в течение последних лет. Подобно всем успешным языкам, которые увидели свет раньше, С# опирается на прошлые достижения постоянно развивающегося искусства программирования.
В языке С# (созданном компанией Microsoft для поддержки среды .NET Framework) проверенные временем средства усовершенствованы с помощью самых современных технологий. С# предоставляет очень удобный и эффективный способ написания программ для современной среды вычислительной обработки данных, которая включает операционную систему Windows, Internet, компоненты и пр. В процессе становления язык С# переопределил весь "ландшафт" программирования.
ООП — это целый набор концепций и идей, позволяющих осмыслить задачу, стоящую при разработке компьютерной программы, а затем найти путь к ее решению более понятным, а значит, и более эффективным способом.
В последнее время идея ООП, кардинально новая идеология написания программ, все более занимает умы программистов. ООпрограммы более просты и мобильны, их легче модифицировать и сопровождать. Стратегию ООП лучше всего описать как смещение приоритетов в процессе программирования от функциональности приложения к структурам данных. Это позволяет программисту моделировать в создаваемых приложениях реальные объекты и ситуации. Технология ООП обладает следующими преимуществами:
a. использование при программировании понятий, близких к предметной области (повседневные объекты);
b. возможность успешно управлять большими объемами исходного кода благодаря инкапсуляции, то есть скрытию деталей реализации объектов и упрощению структуры программ;
c. возможность многократного использования кода за счет наследования;
d. сравнительно простая возможность модификации программ;
e. возможность создания и использования библиотек объектов;
f. создание более эффективного кода, модификация и расширение возможностей уже имеющихся систем.
Эти преимущества особенно явно проявляются при разработке программ большого объема и классов программ. Однако ничто не дается даром: создание объектно-ориентированной программы представляет собой весьма непростую задачу, поскольку требует разработки иерархии объектов, а плохо спроектированная иерархия может свести к нулю все преимущества объектно-ориентированного подхода.
Кроме того, идеи ООП не просты для понимания и в особенности для практического применения. Чтобы эффективно использовать готовые объекты из библиотек, необходимо освоить большой объем достаточно сложной информации. Неграмотное же применение ООП способно привести к созданию излишне сложных программ, которые невозможно отлаживать и усовершенствовать.