[Resolvido]Composição!

6 respostas
D

Boa tarde povo!
tenho um exercício de Programação Orientada à Objeto. Tenho 7 Classes, o professor desenhou o diagrama (não explicou ainda o conceito de composição), mas gostaria de aprender antes!

é um Seguinte:
tenho a Classe Endereco, Pessoas, Vendedor, Cliente, Pedido, Itens Pedido, Produto.
A clase Endereco está associada a Pessoa.
A classe Vendedor e a classe Cliente são classes-filhas(herança) de Pessoas
essas classes eu as já implementei.
Agora, ele pediu para fazer a Classe Pedido associada a pessoa.
a Classe “itens pedido” está associada ao produto, e compoem a classe pedido.
O que fazer?
vou colocar aqui, as classes já implementadas.

public class Endereco {

    private String rua;
    private String bairro;
    private int nmr;
    private String cidade;

    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    public String getCidade() {
        return cidade;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    public int getNmr() {
        return nmr;
    }

    public void setNmr(int nmr) {
        this.nmr = nmr;
    }

    public String getRua() {
        return rua;
    }

    public void setRua(String rua) {
        this.rua = rua;
    }

    public String toString() {
        return "\nRua: " + getRua()
                + "\nBairro: " + getBairro()
                + "\nNúmero: " + getNmr()
                + "\nCidade: " + getCidade();
    }
}
public class Pessoa {

    private String nome;
    private int idade;
    private String sexo;

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getSexo() {
        return sexo;
    }

    public void setSexo(String sexo) {
        this.sexo = sexo;
    }
    Endereco oEndereco = new Endereco();//Associação

    public Endereco getoEndereco() {
        return oEndereco;
    }

    public void setoEndereco(Endereco oEndereco) {
        this.oEndereco = oEndereco;
    }

    public String toString(){
        return" "+oEndereco.toString()+
              "\nNome: "+getNome()+
              "\nIdade: "+getIdade()+
              "\nSexo: "+getSexo();
    }
}
public class Cliente extends Pessoa {

    private int codigoClient;

    public int getCodigoClient() {
        return codigoClient;
    }

    public void setCodigoClient(int codigoClient) {
        this.codigoClient = codigoClient;
    }

    public String toString(){

        return "\n"+super.toString()+
               "\nCódigo Cliente: "+getCodigoClient();
    }



}
public class Vendedor extends Pessoa{

    private int numeroVend;

    public int getNumeroVend() {
        return numeroVend;
    }

    public void setNumeroVend(int numeroVend) {
        this.numeroVend = numeroVend;
    }
     public String toString(){

        return "\n"+super.toString()+
               "\nNúmero Vendedor: "+getNumeroVend();
    }

}

O que devo fazer nas seguintes classes? para que haja Composição?

public class Pedido{ }

public class ItensPedido{ }

public class Produto{ }

6 Respostas

D

Os atributos, sou eu mesmo que determino, então aceito qualquer sugestão!

nel

Composição e Associação em Java são termos distintos mas com mesmo significado!
É quando um objeto possui outro(s) dentro dele.

Não li tudo mas vamos supor que uma Pessoa tenha um Endereço, em Java, seria isso:

public class Pessoa {
   // atributos..
   Endereco endereco;
   
   // getters e setters
}

Quando criares uma "Pessoa" podes associar a ela um Endereço, entende? :)

D

Isto já está acontecendo amigo…
o que eu preciso fazer é uma composição da classe Produto, itens pedido para a classe Pedido… e em seguida associar a classe Pedido a pessoa!

adriano_si

Douglas_SC:
Isto já está acontecendo amigo…
o que eu preciso fazer é uma composição da classe Produto, itens pedido para a classe Pedido… e em seguida associar a classe Pedido a pessoa!

Então pense em como é o relacionamento entre essas entidades no mundo real… Ou queres que alguém diga pra você como é ???

Pelo menos tenta e vai tirando as dúvidas.

Abs [] e bons estudos.

D

Eu estava pensando, na classe produto, eu teria os seguintes atributos:
“Descrição e valor Unitário”
na classe itens, eu teria somente o atributo quatidade, e passava o objeto produto para a classe itens (associação), mas o que eu ia fazer na classe pedido? para que houvesse composição?

rafael_jesus

Me corrija alguém se eu estiver errado,

Se vc der um Classe c = new Classe(); dentro de uma outra classe é composição.

Se vc fizer Classe c; dentro de outra classe é agregação.

Isso eu saquei esses dias na Facul…

Abrcs!

http://imasters.com.br/artigo/18901/uml/uml_composicao_x_agregacao/

Criado 17 de novembro de 2011
Ultima resposta 17 de nov. de 2011
Respostas 6
Participantes 4