Tenho uma classe Chamada Modulos, e outra Programador…
um Modulo deve receber um Programador, mas os módulos tem niveis de confidenciabilidade - 1, 2 e 3 - e os programadores tb tem tipo - 1, 2 , 3 - eu so posso atribuir um modulo a um programador se eles tiverem o mesmo nivel (ou Tipo), a não ser os modulos com nivel 3 que eu posso vincular a qualquer programador…
alguém pode me dizer como faço isso
tens como postar ou mandar seu código, assim fica mais fácil de entender!
Você faz um teste. Ex.:
programador.getNivel() == modulo.getNivel()
// Se for verdadeiro, você atribui.
e modulo.getNivel () == 3 …
import java.io.*;
public class Modulos implements Serializable
{
private String nome;
private int Confidenciabilidade; // 1 - Confidencial 2 - Critico 3 - Generico
private int Tempogasto;
private Programador programador;
/**
* Construtor de objetos do tipo Modulos
* Recebe um nome, horas necessarias para seu termino e o Programador que esta desenvolvendo o modulo como parametros.
* O nivel é preenchido conforme o tipo de programador
*
* @param nome nome do programador
* @param horasPraFinalizar o numero de horas para finalizar o projeto
* @param programador um objeto do tipo Programador
*/
public Modulos (String nome, int TempoGasto, Programador programador)
{
programador.setStatus(1);
this.nome = nome;
// 1 - Senior 2 - Permanente 3 - Contratado
/*if (programador.getTipo() == 1)
{
this.Confidenciabilidade = 1;
}
else if (programador.getTipo() == 2)
{
this.Confidenciabilidade = 2;
}
else
{
this.Confidenciabilidade = 3;
}
*/
this.Tempogasto = TempoGasto;
this.programador = programador;
}
/**
*
*/
public Modulos() {
// TODO Auto-generated constructor stub
}
/**
* Metodo setNome que altera o valor da variavel nome do obejto
*
* @param nome substitui o valor de nome
*/
public void setNome (String nome)
{
this.nome = nome;
}
/**
* Metodo setNivel que altera o valor da variavel nivel do obejto
*
* @param nivel substitui o valor de nivel
*/
public void setNivelConfidenciabilidade ( int nivel)
{
this.Confidenciabilidade = nivel;
}
/**
* Metodo setHorasPraFinalizar que altera o valor da variavel horasPraFinalizar do obejto
*
* @param horasPraFinalizar substitui o valor de horasPraFinalizar
*/
public void setTempoGasto (int horasPraFinalizar)
{
this.Tempogasto = horasPraFinalizar;
}
/**
* Metodo setProgramador que altera o valor da variavel programador do obejto
*
* @param programador substitui o valor de programador
*/
public void setProgramador (Programador programador)
{
this.programador = programador;
}
/**
* Metodo getNome retorna a variavel nome do obejto
*
* @return a variavel nome do Objeto
*/
public String getNome()
{
return this.nome;
}
/**
* Metodo getNivel retorna a variavel nivel do obejto
*
* @return a variavel nivel do Objeto
*/
public int getNivel()
{
return this.Confidenciabilidade;
}
/**
* Metodo getHorasPraFinalizar retorna a variavel horasPraFinalizar do obejto
*
* @return a variavel horasPraFinalizar do Objeto
*/
public int getHorasPraFinalizar()
{
return this.Tempogasto;
}
/**
* Metodo getProgramador retorna a variavel programador do obejto
*
* @return a variavel programador do Objeto
*/
public Programador getProgramador ()
{
return this.programador;
}
}
import java.io.*;
/**
-
Classe abstrata. Define programadores de modo geral
-
@author Marciano Ferreira
-
@version 2
*/
public class Programador implements Serializable
{
// variaveis de instancia
protected String nome;
protected int tipo; // 1 - Senior 2 - Permanente 3 - Contratado
protected double custoHora;
protected int horas_Semana;
protected double horas_Efetivas;
private double horas_extra;
private int status ; // 0 - Livre 1 - Programando/**
- Construtor de objetos do tipo Programador
*/
public Programador()
{
}
/**
- Construtor de objetos do tipo Programador
- @param nome nome do programador
-
@param tipo o tipo do programdor
*/
public Programador(String nome, int tipo)
{
this.nome = nome;
this.tipo = tipo;
status = 0;
if (tipo == 1)
{
custoHora = 30;
horas_Semana = 45;
horas_Efetivas = 0.9;
horas_extra = 0.2;
}
else if (tipo == 2)
{
custoHora = 20;
horas_Semana = 40;
horas_Efetivas = 1;
horas_extra = 0.5;
}
else if (tipo == 3)
{
custoHora = 15;
horas_Semana = 45;
horas_Efetivas = 1.1;
horas_extra = 0;
}
else
{
custoHora = 0;
horas_Semana = 0;
horas_Efetivas = 0;
horas_extra = 0;
}
}
/**
-
Metodo setNome que altera o nome do programador
-
@param nome
*/
public void setNome(String nome)
{
this.nome = nome;
}/**
- Metodo getNome
@return o nome do Programador
*/
public String getNome()
{
return nome;
}
/**
-
Metodo setTipo que altera o tipo de programador
-
@param tipo
*/
public void setTipo(int tipo)
{
this.tipo = tipo;
}/**
- Metodo getTipo
-
@return a variavel tipo do Programador
*/
public int getTipo()
{
return tipo;
}
/**
-
Metodo setCustoHora que altera altera o custo da hora
-
@param custoHora
*/
public void setCustoHora(double custoHora)
{
this.custoHora = custoHora;
}/**
- Metodo getCustoHora
-
@return retorna o valor da Hora
*/
public double getPorHora()
{
return custoHora;
}
/**
-
Metodo setHorasPorSemana que altera o valor da variavel horasPorSemana
-
@param horasPorSemana
*/
public void setHorasPorSemana(int horasSemana)
{
this.horas_Semana = horasSemana;
}/**
- Metodo gethorasPorSemana retorna a variavel horasPorSemana
-
@return a variavel horasPorSemana
*/
public int gethorasPorSemana()
{
return horas_Semana;
}
/**
-
Metodo setHorasEfetivas que altera o valor da variavel horasEfetivas
-
@param horasEfetivas
*/
public void setHorasEfetivas(double horasEfetivas)
{
this.horas_Efetivas = horasEfetivas;
}/**
- Metodo getHorasEfetivas retorna a variavel horasEfetivas
-
@return o numero de horas efetivas
*/
public double getHorasEfetivas()
{
return horas_Efetivas;
}
/**
-
Metodo setHoraExtra que altera o valor hora extra
-
@param horaExtra substitui o valor de extra
*/
public void setHoraExtra(double horaExtra)
{
this.horas_extra = horaExtra;
}/**
- Metodo getHoraExtra retorna a variavel extra do obejto
-
@return o numero de horas extras
*/
public double getHoraExtra()
{
return horas_extra;
}
/**
-
Metodo setStatus que altera o status do programador
-
@param status
*/
public void setStatus (int status)
{
this.status = status;
}/**
- Metodo getStatus retorna o status do programador
-
@return o status do programador (livre ou programando)
*/
public int getStatus()
{
return status;
}
- Construtor de objetos do tipo Programador
}