17. Объектно-ориентированное программирование. Этапы создания исполняемой программы.
Объе́ктно-ориенти́рованное, или объектное, программи́рование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы.
ООП ориентировано на разработку крупных программных комплексов, разрабатываемых командой программистов (возможно, достаточно большой). Проектирование системы в целом, создание отдельных компонент и их объединение в конечный продукт при этом часто выполняется разными людьми, и нет ни одного специалиста, который знал бы о проекте всё.
Объектно-ориентированное проектирование состоит в описании структуры и поведения проектируемой системы, то есть, фактически, в ответе на два основных вопроса:
Из каких частей состоит система.
В чём состоит ответственность каждой из частей.
Выделение частей производится таким образом, чтобы каждая имела минимальный по объёму и точно определённый набор выполняемых функций (обязанностей), и при этом взаимодействовала с другими частями как можно меньше.
Дальнейшее уточнение приводит к выделению более мелких фрагментов описания. По мере детализации описания и определения ответственности выявляются данные, которые необходимо хранить, наличие близких по поведению агентов, которые становятся кандидатами на реализацию в виде классов с общими предками. После выделения компонентов и определения интерфейсов между ними реализация каждого компонента может проводиться практически независимо от остальных (разумеется, при соблюдении соответствующей технологической дисциплины).
Большое значение имеет правильное построение иерархии классов. Одна из известных проблем больших систем, построенных по ООП-технологии — так называемая проблема хрупкости базового класса. Она состоит в том, что на поздних этапах разработки, когда иерархия классов построена и на её основе разработано большое количество кода, оказывается трудно или даже невозможно внести какие-либо изменения в код базовых классов иерархии (от которых порождены все или многие работающие в системе классы). Даже если вносимые изменения не затронут интерфейс базового класса, изменение его поведения может непредсказуемым образом отразиться на классах-потомках. В случае крупной системы разработчик базового класса не просто не в состоянии предугадать последствия изменений, он даже не знает о том, как именно базовый класс используется и от каких особенностей его поведения зависит корректность работы классов-потомков.
- 1. Информатика. Понятие информации. Свойства информации. Единицы измерения информации. Синтаксическая мера информации. Семантическая мера информации. Прагматическая мера информации. Формула Шеннона.
- 2. Информационная система. Структура информационной системы. Классификация информационных систем.
- Классификации информационных систем Классификация по архитектуре
- Классификация по сфере применения
- Классификация по охвату задач (масштабности)
- 4. Компьютерные сети, преимущества работы в сети; локальные вычислительные сети – одноранговые и с выделенным сервером, основные топологии лвс.
- 5. Уровни модели взаимодействия открытых систем oci.
- 6. Сетевые кабели, плата сетевого адаптера. Методы доступа к сетевому ресурсу.
- Виды кабеля, который применяется в сетях
- 7. Сетевые архитектуры. Сетевые протоколы, свойства протоколов; понятие о сетевой ос, о sql-сервере и о технологии клиент/сервер.
- 8. Глобальные сети; адресация в Internet, виды услуг, предоставляемых сетью Internet.
- 10. Программы обслуживания дисков. Антивирусные программы. Программы архиваторы.
- По типу
- 13. Основы и методы защиты информации. Информационная безопасность, угрозы информационной безопасности.
- 14. Средства защиты информации.
- 15. Моделирование
- 16. Что такое программирование? Языки программирования. Классификация и обзор языков программирования.
- 17. Объектно-ориентированное программирование. Этапы создания исполняемой программы.
- 18. Особенности и достоинства среды визуального программирования vba.
- 20. Что такое модуль, процедура, функция? Как оформляются и вызываются процедуры?