Opa Pessoal queria um relatório exato sobre isso!

Opa pessoal e que estava precisando de uma ajuda so para identificar esse codigo dizer o que ele faz, para que server cada coisa tipo um relatorio sobre ele por favor se poderem ajudar ficaria grato :!: querisa um relatório exato falando sobre o programa, oq cada parte dele faz, etc essas coisas ele e Java para Desktop, tipo ele usa herança so que queria um relatório sobre ele todo ,melhor!


public class Funcionario {
protected String nome, rg;
protected double salario;
public Funcionario(String vNome, String vRG, double vSalario){
nome = vNome;
rg = vRG;
salario = vSalario;
}
public String getNome(){
return nome;
}
public String getRG(){
return rg;
}
public double getSalario(){
return salario;
}
public void setNome(String vNome){
if(vNome.length() >= 2){
nome = vNome;
}
}
public void setRG(String vRG){
if(vRG.length() >= 5){
rg = vRG;
}
}
public void setSalario(double vSalario){
if(vSalario > 0){
salario = vSalario;
}
}
}

public class Vendedor extends Funcionario{
protected double vendas;
public Vendedor(String vNome, String vRG, double vSalario){
super(vNome, vRG, vSalario);
vendas = 0;
}
public double getVendas(){
return vendas;
}
public void InformaVendas(double valor){
vendas += valor;
}
public double CalculaSalario(){
return salario + vendas * 0.05;
}
public void Hollerith(){
System.out.println(“Funcionário: “+nome+”\n”+"Salário a receber: "+CalculaSalario());
vendas = 0;
}

}

public class Administrativo extends Funcionario{
protected double horas;
public Administrativo(String vNome, String vRG, double vSalario){
super(vNome, vRG, vSalario);
horas = 0;
}
public double getHoras(){
return horas;
}
public void InformaHoras(double valor){
horas += valor;
}
public double CalculaSalario(){
return salario + horas * (salario/100);
}
public void Hollerith(){
System.out.println(“Funcionário: “+nome+”\n”+"Salário a receber: "+CalculaSalario());
horas = 0;
}
} :!:

Repetiu outro post…

Bom dia amigo,

 Esse código é conhecido como model.
 
 É a representação OO das tabelas do banco de dados. Responsável por fazer a transferência dos dados entre as camadas da aplicação. Da uma lida em modelagem MVC.

Espero ter ajudado,
Cássio

Isso é um trabalho para facul ou escola? ou vc está tentando entender o código?

Olá,
antes de pesquisar sobre MVC, pesquise sobre POJO e o que eles representam no padrão MVC.

Estas classes são POJO (Plain Old Java Object)… http://pt.wikipedia.org/wiki/Plain_Old_Java_Objects

Essas classes apenas representam os registros das tabelas de um banco de dados e nada mais… elas não são responsáveis por persistir os dados na tabela nem por recuperá-los da mesma, nem devem ser responsável por transferir esses dados da camada de Controle para a camada de Visão, elas ficam na camada de Modelo (sub camada, persistencia), pois o Modelo possui (as subcamadas de persistencia e negócio).

A estrutura de classes no MVC ficaria assim:
modelo/persistencia/Estado.java – representa a tabela Estado no banco de dados
modelo/persistencia/dao.java – responsavel por fazer conexao com bd, persistir e recuperar dados do BD
modelo/negocios/EstadoServico.java – responsavel pelas regras de negocio de estado e tambem por usar o DAO para recuperar e persistir Estados
controle/EstadoBean – responsavel por transmitir dados da camada de modelo para a camada de visao
visao/paginaEstado.xhtml – pagina jsp apresentada ao usuario final

espero ter ajudado.

Rayfran.Rocha bom dia,

           So uma coisa, como você disse "elas não são responsáveis por persistir os dados na tabela nem por recuperá-los da mesma", isso esta perfeito, mas é o model que faz a transferência de dados entre as camadas sim, como vc faz para exibir as informações em sua viem sem eles? Outra coisa, o model é a representação OO das tabelas, se não sua aplicação deixa de ser OO e passa a ser orientada a tabelas.

Sem mais,
Cássio

Troca o titulo do post, vai ficar melhor para o pessoal visualizar seu problema.

Oi Cassio,

vamos pegar o exemplo do Carteiro e da Carta… quem é responsável de por pegar as cartas e entregá-las é o Carteiro, a Carta é o só o objeto que é utilizado pelo Remetente ou pelo Destinatário.

no modelo MVC, a classe responsável por recuperar e persistir dados é a classe DAO (Data Access Object), o objeto Estado.java, Produto.java são uma representação OO da tabela Estado, Produto…

A relação Objeto --> Tabela não é um-pra-um… eu posso ter uma classe Pessoa que no Java é representada por uma única classe, mas nas tabelas é persistida e mais de uma tabela.

class Pessoa {
   private nome;
   private Endereco;
}

Apesar de usar só a classe pessoa, quando for persistida ela ficará nas tabelas Pessoa(id#, nome, endereco_id *) e Endereco(id#,descricao);

A mágica que permite eu continuar com minha aplicação 100% OO e não me preocupar com as tabelas (Modelo Relacional) é conseguida através do Mapeamento Objeto-Relacional (conhecido como ORM).
veja esse link http://pt.wikipedia.org/wiki/Mapeamento_objeto-relacional

O hibernate é uma framework de persistência, ele possui ORM.

qq dúvida ou sugestão são bemvindas.

abcs

Perfeito Rayfran,

            Acho que devo ter entendido mal a sua explicação anterior, achei que você tinha contestado a explicação do Model, mas ja entendi o que você quis dizer, acho que o que deve ter te confundido em relação a minha explicação foi a questão da palavra trasnferência né, vamos mudar por trager informações. :)
            Com todo o resto de sua explicação concordo, é justamente isso.

Sem mais,
Cássio

Lembrando que tava falando de Java para Desktop, tipo ele usa herança so que queria um relatório sobre ele todo melhor!