- •2. Минимальный комплект для разработки программ на Java. Минимальные системные требования.
- •3. Основные возможности пакета NetBeans. Функциональный состав и назначение.
- •4. Переменные, константы, область видимости Java.
- •5. Примитивные типы данных.
- •6. Ссылочные типы данных. Объекты.
- •7. Логические операторы.
- •8. Арифметические операторы.
- •9. Преобразования типов. Оболочечные классы.
- •10. Класс Math.
- •11. Графические возможности Java.
- •12. Сложные типы данных. Массивы.
- •13. Сложные типы данных. Строки.
- •14. Управляющие конструкции. Оператор If, Switch.
- •15. Условные операторы.
- •16. Операторы цикла.
- •17. Операторы перехода.
- •18. Основные принципы ооп. Инкапсуляция. Модификаторы доступа.
- •19. Основные принципы ооп. Наследование. Модификаторы доступа.
- •20. Основные принципы ооп. Полиморфизм. Модификаторы доступа.
- •21. Понятие объекта и работа с ним.
- •22.Типы отношений между классами. Агрегация, ассоциация.
- •23. Достоинства и недостатки ооп.
- •24. Класс. Описание полей класса. New.
- •25. Описание методов класса. Модификаторы доступа.
- •26. Конструкторы.
- •27. Ссылка This. Перегрузка методов.
- •28. Наследование. Super. Замещение методов (override).
- •30. Ввод вывод в Java.
- •31. Элементы графического интерфейса.
- •32. Аплеты.
20. Основные принципы ооп. Полиморфизм. Модификаторы доступа.
3) Полиморфизм является фундаментальным понятием которым обозначают механизм использования одного и того же имени (переменной или метода) в классах, которые по разному реализуются (имеют различные действия). Следовательно, любой объект, обозначаемый полиморфным именем, будет по-своему реагировать в зависимости от контекста. На практике встречаются случаи когда объект должен иметь одно и тоже имя метода но их реализация отличается.
21. Понятие объекта и работа с ним.
Под обьектом будем понимать понятие, абстракцию или любой предмет с четко очерченными границами, имеющий смысл в аспекте рассматриваемой проблемы. Введение объектов имеет следующие цели:
1) добиться большего понимания задачи;
2) введение основы для реализации на ЭВМ.
Каждый объект в реальным мире имеет определенное время жизни. В программирование объекты так же могут создаваться (новые обекты) и уничтожаться. Каждый объект имеет состояние, обладает четко определенным поведением и уникальной идентичностью.
22.Типы отношений между классами. Агрегация, ассоциация.
Как правило, любая программа, написанная на объектно-ориентированном языке, представляет собой некоторый набор связанных между собой классов.
Возможны следующие связи между классами в рамках
объектной модели (приводятся лишь наиболее простые и часто исполь-
зуемые виды связей, подробное их рассмотрение выходит за рамки этой
ознакомительной лекции):
1. агрегация (Aggregation);
2. ассоциация (Association);
3. наследование (Inheritance);
4. метаклассы (Metaclass).
1) Агрегация: отношение между классами типа "содержит" (contain) или "состоит из" называется агрегацией, или включением. Например, если аквариум наполнен водой и в нем плавают рыбки, то можно сказать, что аквариум агрегирует в себе воду и рыбок.
Такое отношение включения, или агрегации (aggregation),
изображается линией с ромбиком на стороне того класса, который вы-
ступает в качестве владельца, или контейнера.
2) Ассоциация: если объекты одного класса ссылаются на один или более объектов другого класса, но ни в ту, ни в другую сторону отношение между объектами не носит характера "владения", или контейнеризации, такое отношение называют ассоциацией (association). Отношение ассоциации изображается так же, как и отношение агрегации, но линия, связываю-
щая классы,- простая, без ромбика. В качестве примера можно рассмотреть программиста и его
компьютер. Между этими двумя объектами нет агрегации, но существует четкая взаимосвязь. Так, всегда можно установить, за какими компьютерами работает какой-либо программист, а также какие люди пользуются отдельно взятым компьютером. В рассмотренном примере
имеет место ассоциация "многие-ко-многим".
23. Достоинства и недостатки ооп.
Достоинства ООП:
1. Классы позволяют проводить конструирование из полезных компонентов, обладающих простыми инструментами, что позволяет абстрагироваться от деталей реализации.
2. Локализация кода и данных улучшает наглядность и удобство сопровождения программного обеспечения.
3. Инкапсуляция позволяет привнести свойство модульности, что облегчает распараллеливание выполнения задачи между несколькими исполнителями и обновление версий отдельных компонентов.
4. ООП дает возможность создавать расширяемые системы. Это одно из основных достоинств ООП, и именно оно отличает данный подход от традиционных методов программирования. Расширяемость означает, что существующую систему можно заставить работать с новыми компонентами, причем без внесения в нее каких-либо изменений. Компоненты могут быть добавлены на этапе исполнения программы.
5. Обработка разнородных структур данных.
6. Изменение поведения во время исполнения
7. Реализация работы с наследниками. Алгоритмы можно обобщить настолько, что они уже смогут работать более чем с одним видом объектов.
8. Создание "каркаса" (framework). Независимые от приложения части предметной области могут быть реализованы в виде набора универсальных классов, или каркаса (framework), и в дальнейшем расширены за счет добавления частей, специфичных для конкретного приложения.
Недостатки ООП.
1. Необходимо понимать базовые концепции, такие как классы, наследование и динамическое связывание. Для программистов, уже знакомых с понятием модуля и с абстрактными типами данных, это потребует минимальных усилий.
2. Многоразовое использование требует от программиста познакомиться с большими библиотеками классов.
3. Проектирование классов — задача куда более сложная, чем их использование. Проектирование класса, как и проектирование языка, требует большого опыта.
4. Очень трудно изучать классы.