Fala galera, tudo na paz. Galera eu to tentando implementar composição em java. Aí eu fiz um exemplozinho aqui entre duas classes Professor e Turma. Pelo que eu pesquisei sobre compsição eu cheguei á esses códigos, isso seria composição ou eu inventei coisa.
Quem quiser saber do começo da historia e só entra nesse tópico.
http://www.guj.com.br/posts/list/36812.java
classe Professor
/*
* Created on 11/07/2006
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package controle.mapeamento;
import java.util.ArrayList;
import java.util.Collection;
/**
* @author foguinho
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class Professor {
private int codigo;
private String nome;
private int idade;
private Turma turma;
private Collection turmas = new ArrayList();
/**
*
*/
public Professor(int codigo,String nome,int idade,int codigoT,String nomeT,String turno) {
this.codigo=codigo;
this.nome=nome;
this.idade=idade;
turma= new Turma(codigoT,nomeT,turno);
addTurma(turma);
}
/**
* @return Returns the codigo.
*/
public int getCodigo() {
return codigo;
}
/**
* @param codigo
* The codigo to set.
*/
public void setCodigo(int codigo) {
this.codigo = codigo;
}
/**
* @return Returns the idade.
*/
public int getIdade() {
return idade;
}
/**
* @param idade
* The idade to set.
*/
public void setIdade(int idade) {
this.idade = idade;
}
/**
* @return Returns the nome.
*/
public String getNome() {
return nome;
}
/**
* @param nome
* The nome to set.
*/
public void setNome(String nome) {
this.nome = nome;
}
public void addTurma(Turma turma) {
turmas.add(turma);
}
public void removeTurma(Turma turma) {
((ArrayList) turmas).remove(turma);
}
//métodos gets e sets referentes a classe Turma
public int getCodigoDaTurma(){
return turma.getCodigoTurma();
}
public void setCodigoDaTurma(int codigo){
turma.setCodigoTurma(codigo);
}
public String getNomeDaTurma(){
return turma.getNomeTurma();
}
public void setNomeDaTurma(String nome){
turma.setNomeTurma(nome);
}
public String getTurnoDaTurma(){
return turma.getTurnoTurma();
}
public void setTurnoDaTurma(String turno){
turma.setTurnoTurma(turno);
}
}
classe Turma
/*
* Created on 11/07/2006
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package controle.mapeamento;
/**
* @author foguinho
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Turma {
private int codigoTurma;
private String nomeTurma;
private String turnoTurma;
/**
*
*/
public Turma() {
}
/**
*
*/
public Turma(int codigoTurma,String nomeTurma,String turnoTurma) {
this.codigoTurma=codigoTurma;
this.nomeTurma=nomeTurma;
this.turnoTurma=turnoTurma;
}
/**
* @return Returns the codigo.
*/
public int getCodigoTurma() {
return codigoTurma;
}
/**
* @param codigo The codigo to set.
*/
public void setCodigoTurma(int codigoTurma) {
this.codigoTurma = codigoTurma;
}
/**
* @return Returns the nome.
*/
public String getNomeTurma() {
return nomeTurma;
}
/**
* @param nome The nome to set.
*/
public void setNomeTurma(String nomeTurma) {
this.nomeTurma = nomeTurma;
}
/**
* @return Returns the turno.
*/
public String getTurnoTurma() {
return turnoTurma;
}
/**
* @param turno The turno to set.
*/
public void setTurnoTurma(String turnoTurma) {
this.turnoTurma = turnoTurma;
}
}
classe TesteMain
/*
* Created on 11/07/2006
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package controle.mapeamento;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
/**
* @author foguinho
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class TesteMain {
private Connection conn;
private boolean connected = false;
private String DRIVER = "com.mysql.jdbc.Driver";
private String URL_STRING = "jdbc:mysql://localhost/test";
private String USER = "";
private String PASSWD = "";
public void conectar() {
try {
Class.forName(DRIVER);
conn = (Connection) DriverManager.getConnection(URL_STRING, USER, PASSWD);
} catch (ClassNotFoundException ex) {
System.out.println("Driver JDBC não encontrado.\n" + ex);
} catch (SQLException ex1) {
System.out.println("Falha durante o processo de conexão.\n" + ex1);
}
}
public void incluirDados() {
try {
//prepared statement para inserção
PreparedStatement stmt = (PreparedStatement) conn.prepareStatement("INSERT INTO Professor(codigoProf,nomeProf,idadeProf) values (?,?,?)");
Professor p = new Professor(1,"joana",22,1,"L","Vespertino");
stmt.setInt(1,p.getCodigo());
stmt.setString(2,p.getNome());
stmt.setInt(3,p.getIdade());
//executa
stmt.execute();
stmt = (PreparedStatement) conn.prepareStatement("INSERT INTO Turma(codigoTurma,Professor_CodigoProf,nomeTurma,turnoTurma) values (?,?,?,?)");
stmt.setInt(1,p.getCodigoDaTurma());
stmt.setInt(2,p.getCodigo());
stmt.setString(3,p.getNomeDaTurma());
stmt.setString(4,p.getTurnoDaTurma());
// executa
stmt.execute();
stmt.close();
}catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage(),
"Informação",JOptionPane.ERROR_MESSAGE);
}
}
public void removerDados() {
try {
//prepared statement para inserção
PreparedStatement stmt = (PreparedStatement) conn.prepareStatement("");
// executa
stmt.execute();
stmt.close();
}catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage(),
"Informação",JOptionPane.ERROR_MESSAGE);
}
}
public static void main(String[] args) {
TesteMain tm = new TesteMain();
tm.conectar();
tm.incluirDados();
//tm.removerDados();
}
}