O que fica mais OO...opiniao!

Imaginem a seguinte situacao!
Tenho os seguintes objetos: Matricula,Negociacao_Mensalidade,Negociacao_Taxa e Recebimento…

apartir da Matricula sao gerados Negociacao_Mensalidade e Negociacao_taxa e Recebimento eh o fruto de qualquer uma das negociacoes…

Nas negociacoes eu preciso saber plano de pagamento, valor e vencimento_inicial e desconto e no Recebimento eu preciso saber qual a parcela, valorparcela, vecto e a que se refere (‘taxa’,‘mensalidade’)…

O que eh adequado de modo que fique bem OO?
dizer que nas Negociacoes eu tenho um objeto Matricula que me passa as informacoes que eu necessito ou somente passar as info como argumento?
dizer que no Recebimento eu tenho um objeto do tipo negociacao ou somente passar as info como argumento?

Vcs podem me dar uma opiniao ?

Diana, o que fica mais OO não depende das duas maneiras como você vai resolver o problema, se você tem como passar os parametros diretamente para estas classes sem precisar de um processamento muito grande sobre eles anteriormente, talves não haja necessidade de criar objetos para tratar estes parametros ou armazena-los, no mais o que vai definir se você utilizou bem os recursos de OO é a arquitetura do seu software e a boa definição das classes e metodos delas.

pois eh…
mas tem aquela…sempre eh preferivel passar um objeto do que argumentos, devido a menor margem de erros…tipo passar argumento errado e coisa e tal…e outra modularidade e compatibilidade…
mas sinceramente, como vc resolveria esse problema?

Ola blzinha

bom usar parametros simples ou passar o objeto inteiro

é preferivel vc passar o objeto inteiro…

agora o pq dessa preferencia

imagine que vc tem uma classe endereço
e quando vc manipula informações da mesma classe
vc apenas envia pedaços e naum o objeto por inteiro
entaum eis o porem

uma vez o projeto pronto
ocorre uma necessidade de vc inserir um novo atributos e métodos

agora pense que a mesma classe é utilizada por outras 300 classes
vc passando parametros vc tera o trabalho de localizar e realizar
300 alterações de codigo…

enquanto se vc estivesse repassando apenas o objeto
o impacto de manutenção seria quase que impercebivel…

uma classe end qq…

public class Endereco {

   // Dados do Endereco.
   String rua;
   int numero;
   String cep;
   String bairro;
   String complemento;
   
   // Rotinas responsáveis por alterar e acessar os dados

   public void setRua(String n_rua) {
	rua = n_rua;
   }

   public void setNumero(int n_numero) {
	numero = n_numero;
   }

   public void setCep (String n_cep) {
	cep = n_cep;
   }

   public void setBairro (String n_bairro) {
	bairro = n_bairro;
   }

   public void setComplemento (String n_complemento) {
	complemento = n_complemento;
   }
   
   public String getRua () {
      return rua;
   }

   public int getNumero () {
      return numero;
   }

   public String getCep () {
      return cep;
   }

   public String getComplemento () {
      return complemento;
   }

   public String getBairro () {
      return bairro;
   }


   public String toString() {
   
      String out = "";
      out += "Rua : " + this.getRua();
      out += "\nNumero : " + this.getNumero();
      out += "\nBairro : " + this.getBairro();
      out += "\nCep : " + this.getCep();
      out += "\nComplemento : " + this.getComplemento();

      return out; 

   } 

}

um código errado…

[code]

public class Pessoa {

// Dados da pessoa.
String nome;
String RG;
String tel;
Endereco endereco = new Endereco();

// Rotinas responsáveis por alterar e acessar os dados de uma pessoa.

public void setNome (String novo_nome) {
nome = novo_nome;
}

public void setRG (String novo_RG) {
RG = novo_RG;
}

public void setTel (String novo_Tel) {
tel = novo_Tel;
}

// aki um dos grandes trabalhos pois qq alteração tera que ser alterado
// esse código, imagine 100 classes com o mesmo problema… [/code]
:roll:

   public void setEndereco(Endereco n_endereco){
        endereco.setRua(n_endereco.getRua());
        endereco.setCep(n_endereco.getCep());
        endereco.setNumero(n_endereco.getNumero());
        endereco.setBairro(n_endereco.getBairro());
        endereco.setComplemento(n_endereco.getComplemento());
   }


   
   public String getNome () {
      return nome;
   }

   public Endereco getEndereco() {
      return endereco;
   }	

   public String getRG () {
      return RG;
   }

   public String getTel () {
      return tel;
   }
}

é preferivel que se faça

public void Método ( objeto ) { objeto = objeto; }

causa menos impacto em termos de manutenção de código… :wink:

espero que tenha ajudado em algo
[]´s
Erko Bridee

Obrigada,
pelo belezinha!

Er… Seguindo o conceito de OO, o que recomendo é que se tenha objetos que representem fidedignamente a realidade. Neste caso, por exemplo, eu faria de tudo para criar as seguintes classes Matricula, Mensalidade, Taxa, Recebimento e talvez a classe negociação…

Att