Orientação a objeto - Criar a classes como orienta Modelo de Dados

Olá, pessoal!

Gostaria de saber qual a forma certa para criar as classes a orientação de objetos. veja como modelo de dados ER e criar as classes, veja em baixo.

Modelo de Dados ER

Tenho duvida sobre criar a classe por exemplo

public class AlunoTurma {
	private Aluno a;
	private Turma t;
	private String parcial1;
	private String parcial2;
	private String parcial3;
	private String parcial4;
	private String conceitoFinal;
.
.
.
.
.
}

ou

public class AlunoTurma {
	private ArrayList<Aluno> a;
	private ArrayList<Turma> t;
	private String parcial1;
	private String parcial2;
	private String parcial3;
	private String parcial4;
	private String conceitoFinal;
.
.
.
.
}

Espero que vocês me dica ou me ajudar, obrigado!

O primeiro trecho é o correto.
Pense um pouco. Em Aluno_Turma vc tem uma chave estrangeira de Aluno e uma chave estrangeira de Turma, ou seja, um Aluno_Turma é composto de um Aluno, de uma Turma e dos dados dessa amarração. Se caso queira a bidirecionalidade, as listas ficariam uma em Aluno e uma em Turma, ambas contento elementos do tipo AlunoTurma.

[]'s

Pelo que percebi sua modelagem sai fora da regra da 1º forma normal de modelagem,
que diz:
“Se uma entidade tiver um dado que vai se repetir por várias vezes em uma tabela, tira-se o campo e cria uma nova tabela e relaciona-se esse campo com a entidade”

Por exemplo

Essa tabela nao existe.
Pessoa
Id pk
Nome
Endereço
Telefone1
Telefone2
Telefone3


Seria

Pessoa
Id pk
Nome
Endereço

Dados_Pessoa
id pk
id_pessoa fk
telefone

Dou um UP aki,
tambem concordo…

[quote]
O primeiro trecho é o correto.
Pense um pouco. Em Aluno_Turma vc tem uma chave estrangeira de Aluno e uma chave estrangeira de Turma, ou seja, um Aluno_Turma é composto de um Aluno, de uma Turma e dos dados dessa amarração. Se caso queira a bidirecionalidade, as listas ficariam uma em Aluno e uma em Turma, ambas contento elementos do tipo AlunoTurma. [/quote]