Основное преимущество ООП следует из того, что на базе существующих между классами отношений можно построить их иерархию. В Java поддерживается 4 типа отношений между классами:
1) Отношение типа «является» подразумевает, что один из классов представляет собой спец вариант другого класса(«парта является мебелью»);
2) Отношение типа «имеет» подразумевает процедуру включения одного объекта в другой;
3) Отношение типа «использует» (студент использует ручку)
4) Отношения типа «создаёт» - когда один объект внутри себя создаёт второй (Студент создаёт лекции)
Примеры отношений:
1. public class Parrot extends Bird
2. Wind left wind;
Wind right wind;
3. public Egg create (Parrot p, Nest n)
{…
Egg a=new Egg(p,n);
return a; }
4. Parrot Kesha=new Porrot(«Кеша»true); Bird
Parrot Glasha=new Porrot(«Глаша»false);
Nest n=new Nest (30);
Egg child=Glasha.create(Kesha,n); ß Отношение типа «использует» и «создаёт»