2 22 2.Принципы объектно-ориентированного программирования. Наследование и агрегирование как способы создания новых классов.
Основные идеи объектно-ориентированного подхода опираются на следующие положения:
1. Программа представляет собой модель некоторого реального процесса, части реального мира.
2. Модель реального мира или его части может быть описана как совокупность взаимодействующих между собой объектов.
3. Объект описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект.
4. Взаимодействие между объектами осуществляется посылкой специальных сообщений от одного объекта к другому. Сообщение, полученное объектом, может потребовать выполнения определенных действий, например, изменения состояния объекта.
5. Объекты, описанные одним и тем же набором параметров и способные выполнять один и тот же набор действий представляют собой класс однотипных объектов.
Суть объектно-ориентированного программирования заключается в трех принципах:
наследовании, инкапсуляции и полиморфизме.
Инкапсуляция или утаивание информации (information hiding), — это возможность скрыть внутреннее устройство объекта от его пользователей, предоставив через интерфейс доступ только к тем членам объекта, с которыми клиенту разрешается работать напрямую.
Инкапсуляция подразумевает наличие границы между внешним интерфейсом класса и деталями его внутренней реализации.
Преимущество для разработчика в том, что он может открыть те члены класса, которые будут оставаться статичными, или неизменяемыми. Инкапсуляция достигается путем назначения каждому члену класса своего модификатора доступа — public, private или protected.
Полиморфизм - это функциональная возможность, позволяющая старому коду вызвать новый. Это свойство ООП, пожалуй, наиболее ценно, поскольку дает возможность расширять и совершенствовать систему, не затрагивая существующий код.
Достоинства
- позволяет группировать объекты, имеющие общий базовый класс, и последовательно (например, в цикле) их обрабатывать.
- старый код может использовать новый код.
Целью полиморфизма, является использование одного имени для задания общих для класса действий. На практике это означает способность объектов выбирать внутреннюю процедуру (метод) исходя из типа данных. В более общем смысле, концепцией полиморфизма является идея "один интерфейс, множество методов". Это означает, что можно создать общий интерфейс для группы близких по смыслу действий.
Наследование - свойство объектов, позволяющее описать новый класс на основе уже существующего (родительского), при этом свойства и функциональность родительского класса наследуются новым классом, который наз. потомком, наследником или производным классом.
Наследование выполняет в ООП несколько важных функций:
- моделирует концептуальную структуру предметной области;
- экономит описания, позволяя использовать их многократно для задания разных классов;
- обеспечивает пошаговое программирование больших систем путем многократной конкретизации классов.
Java – это объектно-ориентированный язык программирования, поддерживающий простое наследование.
Агрегирование - методика создания нового класса из уже существующих классов. Об агрегировании часто говорят как об "отношении принадлежности" по принципу у "у машины есть корпус, колеса и двигатель".
Вложенные объекты нового класса обычно объявляются закрытыми, что делает их недоступными для прикладных программистов, работающих с классом. С другой стороны, создатель класса может изменять эти объекты, не нарушая работы существующего клиентского кода. Кроме того, замена вложенных объектов на стадии выполнения программы позволяет динамически изменять ее поведение. Механизм наследования такой гибкостью не обладает, поскольку для производных классов устанавливаются ограничения, проверяемые на стадии компиляции.
Различия между наследованием и агрегированием:
1. Наследование является только отношением между классами и не переходит в отношение между экземплярами классов, в отличие от агрегирования. Объект, порожденный от класса-наследника, содержит в себе объект класса-предка, но никаких отношений между ними нет – второй есть несамостоятельная часть первого;
2. Наследование модифицирует класс-предок, непосредственно добавляя, "вливая" в него новые свойства (атрибуты, методы, реализацию методов). Агрегирование никак не затрагивает агрегат, и у последнего могут быть свои собственные методы и атрибуты. В случае агрегирования части не "растворяются" в целом, оставаясь отдельными частями в его составе.
- 1. Множества, булевы операции над множествами, основные их свойства.
- Булевы операции над множествами.
- 35. Разработка и оформление основных проектных документов (генплан).
- 2 2 . Граф, маршруты в графе, компоненты связности, связные графы.
- 36. Разработка и оформление основных проектных документов (планы зданий).
- 3 3 .Планарность графа, теорема Эйлера о многогранниках.
- 37.Разработка и оформление основных проектных документов (разрезы зданий).
- 4. Решение систем линейных уравнений методом Гаусса.
- 38.Разработка и оформление основных проектных документов (фасады зданий).
- Чертежи фасадов зданий.
- На фасады наносят:
- 5 5 .Матрицы, операции над матрицами, обратная матрица.
- Операции:
- 1) Сложение двух матриц
- 2) Умножением матрицы на число
- 3) Умножение двух матриц
- 39.На каких этапах архитектурного проектирования применяются пакеты компьютерной графики и какие?
- 6. Архитектура сетей. Топология и типология сетей. Одноранговые сети, сети на основе сервера, локальные и глобальные сети.
- Классификация
- Основные топологии локальных систем
- 40.Какие графические пакеты применяют при проектировании интерьеров и какие задачи они решают?
- 7 7 . Виды сервисов в Интернет.
- Основные сервисы Internet:
- 46.Социально-экологические проблемы города.
- 8 8 .Определение, назначение, состав и функции операционных систем.
- 47.Инженерное оборудование зданий.
- 9 9 .Классификация современных операционных систем.
- IV. Вытесняющая и невытесняющая многозадачность
- VII. Особенности областей использования:
- 48.Автоматизированные системы управления в современном здании, характеристика инженерных подсистем
- 10.Понятие информационной технологии. Эволюция информационных технологий.
- Эволюция информационных технологий.
- 49.Типологические особенности архитектуры городов.
- 1 11 1.Информационная система как средство реализации информационной технологии.
- 33.Средства архитектурной композиции (тектоника, ритм, симметрия, контраст, нюанс и др.).
- Художественные средства архитектуры
- 12.Понятие и свойства базы данных. Требования, предъявляемые к бд.
- 34.Стадийность архитектурного проектирования.
- 1 13 3.Система управления бд. Основные компоненты и функции субд.
- 50.Градостроительство–деятельность человека по преобразованию природной среды. Виды градостроительной деятельности.
- 14.Иерархическая, сетевая и реляционная модели представления данных. Достоинства и недостатки различных моделей.
- 51.Уровни градостроительного проектирования. Градостроительная документация.
- 1 15 5.Угрозы информационной безопасности, причины виды и каналы утечки информации
- 52.Типология населённых мест по величине, народнохозяйственному профилю, географическому положению.
- 1 16 6.Методы защиты информации в компьютерных системах
- 53.Функциональное зонирование города. Типы функционального зонирования.
- 8 Зон делятся на 3 группы:
- 1 17 7. Объекты и основные задачи информационного менеджмента.
- 41.Задачи экономической работы при проектировании городов.
- 1 18 8. Информационный менеджмент как новый тип управления учреждением.
- 42.Права и обязанности лица, осуществляющего архитектурную деятельность.
- Гл.III. Ст.12. Архитектор и юридическое лицо, имеющие лицензии, на основании договора с заказчиком (застройщиком) имеют право:
- 1 19 9.Понятие, свойства и характеристики алгоритмов.
- 43.Государственная экспертиза проектной документации: цели и задачи, этапы
- 2 20 0.Виды языков программирования.
- 44.Влияние деятельности человека на равновесие природных систем.
- 2 21 1. Понятие объектно-ориентированного подхода. Классы как пользовательские типы данных. Объекты как экземпляры классов.
- 45.Архитектурное проектирование – выбор оптимального варианта проектного решения, несущего социально-экологический комфорт.
- 2 22 2.Принципы объектно-ориентированного программирования. Наследование и агрегирование как способы создания новых классов.
- 32.Архитектура как вид искусства. Эстетический, средовой, культурологический подходы к архитектуре.
- 3. Архитектурная среда как возможность
- 2 23 3. Программирование в оконных операционных средах. Интегрированные среды разработки. Визуальное программирование.
- 54.Планировочная структура населенного места. Типы планировочных структур населенных мест.
- 24.Жизненный цикл ис. Состав работ на всех стадиях жизненного цикла ис
- 62.Основные задачи ландшафтного проектирования. Элементы ландшафтной системы. Классификация ландшафтов.
- 2 25 5.Автоматизированное проектирование ис с использованием case-технологии.
- 61. Критерии оптимальности планировочной структуры градостроительной системы.
- 2 26 6. Содержание rad-технологии создания приложений.
- 60.Реконструкция населённых мест. Цели, задачи, виды реконструкции.
- 27.Понятие и составляющие качества программного средства.
- 59.Транспортная структура как основной планировочный каркас города. Типы транспортных структур.
- 2 28 8. Разработка структуры программы и модульное программирование.
- Методы разработки структуры программы
- 58.Система озеленения населенных мест. Типы и виды озеленённых территорий города.
- Система озеленения состоит из 3-х элементов или категорий:
- Виды озелененных территорий города:
- 2 29 9.Тестирование и отладка программного средства.
- 57.Центр города. Типология планировочных структур.
- 3 30 0.Понятие проектирования. Стадии и этапы проектирования. Содержание работ на различных стадиях.
- Стадии и этапы проектирования
- 56.Пром. Зона, пром. Район, пром. Узел. Основные характеристики.
- 3 31 1.Состав и структура сапр. Виды обеспечения сапр.
- Виды обеспечения сапр
- 55.Особенности организации жилых образований поселений.