Atividade de associação, agregação e composição

Boa tarde gente, preciso de uma ajuda urgente, tenho essas atividades para fazer, já criei as classes, mas não consegui criar a classe principal com essas exigências. Segue abaixo atividades, quem puder me ajudar, fico grato demais!!!

**ATIVIDADE 1: **Utilizando algum programa para criação de diagramas de classes, desenvolva um
diagrama que contenha as seguintes funcionalidades:
a) Uma classe chamada Universidade, que terá como atributos: nome e local. Além disso,
deve possuir um método construtor e métodos para encapsulamento dos seus
atributos.
b) Uma classe chamada Pessoa, com os atributos: nome e data de nascimento (que pode
ser String). Assim como na outra classe, crie um método construtor e métodos para
encapsulamento de seus atributos.
c) Cada pessoa poderá estar associada a uma universidade.
d) A classe pessoa deve possuir um método que informe seus atributos e a universidade
em que trabalha.
ATIVIDADE 2: Implemente o diagrama de classes proposto na ATIVIDADE 1 em Java. Crie ainda
uma classe para testar a aplicação, que deve realizar as seguintes tarefas:
• Crie dois objetos da classe Pessoa, um representando Albert Einstein, nascido em
14/03/1879 e outro representando Isaac Newton, nascido em 04/01/1643.
• Crie dois objetos da classe Universidade, associando um para Einstein (Universidade de
Nova Jersey – Estados Unidos da Amética) e outro para Newton (Universidade de
Cambridge – Inglaterra).
• Para ambos os objetos criados, chame o método proposto da ATIVIDADE 1 (d).
• [Opcional] Construa uma interface gráfica.
ATIVIDADE 3: Adicione ao projeto das ATIVIDADE 1 uma classe Departamento, que possui o
atributo nome. A classe deve possui um construtor e métodos de encapsulamento. A
Universidade deve estar composta por vários departamentos (a sugestão é que se utilize um
ArrayList).
Adapte também a classe Pessoa para que ela tenha uma referência ao Departamento onde
trabalha, ou seja, deve possuir uma associação com a classe Departamento.
ATIVIDADE 4: Implemente no projeto proposto da ATIVIDADE 2 as mudanças propostas na
ATIVIDADE 3. Possibilite também ao aplicativo realizar as seguintes tarefas:
• Relacionar departamentos a uma Universidade.
• Relacionar uma pessoa a um departamento.

O exercício é meio estranho…

1 - Diagrama de Classes

image

2 - Universidade

public class Universidade {
	private String nome;
	private String local;
	
	public Universidade(String nome, String local){
		this.setNome(nome);
		this.setLocal(local);
	}
	
	public void setNome(String nome){
		this.nome = nome;
	}
	
	public String getNome(){
		return nome;
	}
	
	public void setLocal(String local){
		this.local = local;
	}
	
	public String getLocal(){
		return local;
	}
}

3 - Pessoa

public class Pessoa {
	private String nome;
	private String dataNascimento;
	private Universidade universidade;
	
	public Pessoa(String nome, String dataNasc, Universidade univ){
		this.setNome(nome);
		this.setDataNascimento(dataNasc);
		this.lecionar(univ);
	}
	
	public void lecionar(Universidade universidade){
		this.universidade = universidade;
	}
	
	public String getUniversidade(){
		return universidade.getNome();
	}
	
	public void setNome(String nome){
		this.nome = nome;
	}
	
	public String getNome(){
		return nome;
	}
	
	public void setDataNascimento(String dataNascimento){
		this.dataNascimento = dataNascimento;
	}
	
	public String getDataNascimento(){
		return dataNascimento;
	}
}

4 - Principal

public class Principal {
	public static void main(String[] args){
		
		Universidade universidade1 = new Universidade("Universidade de Nova Jersey", "Estados Unidos");
		Universidade universidade2 = new Universidade("Universidade de Cambridge", "Inglaterra");
		
		Pessoa pessoa1 = new Pessoa("Albert Einstein", "14/03/1829", universidade1);
		Pessoa pessoa2 = new Pessoa("Isaac Newton", "04/01/1643", universidade2);
		
		System.out.println("O Dr. " + pessoa1.getNome() + " leciona em " + pessoa1.getUniversidade() + ".");
	}
}

Teste:

image

É só para tu ter uma base, daí tu veja se te atende e faça o restante do exercício.

Muito obrigado pela ajuda, me ajudou demais! Você teria alguma dica para eu fazer essa parte do array list?