Логика программы генеалогического дерева

Я создаю программу генеалогического древа на Java, или, по крайней мере, пытаюсь. Я разработал несколько классов:

  • Person - геттеры и сеттер для имени пол, возраст и т. д.
  • FamilyMember - расширяет лица, получающие и сеттеры для настройки родителей и дети
  • Семья, состоящая из нескольких члены семьи и методы добавления удаление членов
  • FamilyTree, который является основным классом для установления отношений.

У меня две основные проблемы:

1) Мне нужно установить отношения между людьми. В настоящее время я делаю:

FamilyMember A, FamilyMember B
B.setMother(A);
A.setChild(B);

Пример выше предназначен для установки отношений мать-ребенок.

Это кажется очень неуклюжим. Становится очень утомительно реализовывать все отношения. Есть идеи, как реализовать множественные отношения менее процедурным способом?

2) Я должен иметь возможность отображать генеалогическое древо. Как я могу это сделать? Есть ли какие-нибудь специальные классы, чтобы облегчить жизнь?

Спасибо за уделенное время ...

6
задан yshahak 9 November 2016 в 15:00
поделиться