Программирование на JAVA

Навигация

Лекция 1. Что такое Java? История создания

Лекция 2. Основы объектно-ориентированного программирования

Лекция 3. Лексика языка

Лекция 4. Типы данных

Лекция 5. Имена. Пакеты

Лекция 6. Объявление классов

Лекция 7. Преобразование типов

Лекция 8. Объектная модель в Java

Лекция 9. Массивы

Лекция 10. Операторы и структура кода. Исключения

Лекция 11. Пакет java.awt

Лекция 12. Потоки выполнения. Синхронизация

Лекция 13. Пакет java.lang

Лекция 14. Пакет java.util

Лекция 15. Пакет java.io

Лекция 16. Введение в сетевые протоколы

Реклама :


Автошины б/у: частные объявления: автошины. Ищете автошины в Москве?
Эпиляция в Москве: эпиляция цены.

В примере можно видеть роль home класса Aquarium (аквариум является домом для рыбок), а также роль inhabitants класса Fish (рыбки являются обитателя­ми аквариума). Название роли обычно совпадает с названием соответст­вующего поля в классе. Изображение такого поля на диаграмме излишне, если уже указано имя роли. Т.е. в данном случае класс Aquarium будет иметь свойство (поле) inhabitants, а класс Fish - свойство home.

Число объектов, участвующих в отношении, записывается рядом с именем роли. Запись "0..п" означает "от нуля до бесконечности". Приняты также обозначения:

• "1 ..п" — от единицы до бесконечности;

• "О" - ноль;

• " 1 " — один;

• "п" — фиксированное количество;

• "0.. 1 " — ноль или один.

Код, описывающий рассмотренную модель и явление агрегации, может выглядеть, например, следующим образом:

// определение класса Fish public class Fish {

// определения поля home (ссылка на объект Aquarium)

private Aquarium home;

public Fish() { }

}

// определение класса Aquarium public class Aquarium {

// определения поля inhabitants (массив ссылок на объекты Fish) private Fish inhabitants[]; public Aquarium() { }

}

Ассоциация

Если объекты одного класса ссылаются на один или более объектов другого класса, но ни в ту, ни в другую сторону отношение между объек­тами не носит характера "владения", или контейнеризации, такое отно­шение называют ассоциацией (association). Отношение ассоциации изоб­ражается так же, как и отношение агрегации, но линия, связывающая классы,— простая, без ромбика.

Computer

Programmer

В качестве примера можно рассмотреть программиста и его компью­тер. Между этими двумя объектами нет агрегации, но существует четкая взаимосвязь. Так, всегда можно установить, за какими компьютерами ра­ботает какой-либо программист, а также какие люди пользуются отдельно взятым компьютером. В рассмотренном примере имеет место ассоциация "многие-ко-многим".

Computerт

0..n

-programmers   -computers

Programmerт I 0 n

В данном случае между экземплярами классов Programmer и Computer в обе стороны используется отношение "0..п", т.к. програм­мист, в принципе, может не работать с компьютером (если он теоретик Или на пенсии). В свою очередь, компьютер может никем не использовать­ся (если он новый и еще не установлен).