Galera Help Urgente

Galera sou novo aqui, queria saber se alguém ae tem um exemplo
que use : java bean, herança, encapsulamento, associação e polimorfismo ??

se alguem tiver posta o codigo ai
preicso muito de um exemplo disso.

Valeu

Hummm… mas vc tem dúvida… pois acho dificil alguém aqui resolver o seu exercício de faculdade assim…

O JavaBean é um tipo de classe que deve:

[list]

  • Implementar Serializable;
  • Possuir construtor default (vazio);
  • TODOS os atributos (de instância :wink:) devem estar encapsulados em métodos get/set;
    [/list]

Ex.:

public class Pessoa implements Serializable {
    private String name;

    public void setName(final String name) {
        this.name = name;
    }

    public String getName() { return this.name; }
}

Possuir construtor default (vazio) implica em tê-lo implicitamente (qaundo não se escreve ele) ou explicitamente (quando escreve-se). Podes definir outros tipos de contrutores mas o default TEM de existir. No exemplo anterior ele está implícito.

Herança é forma que a linguagem tem de implementar o mecanismo da reusabilidade por meio da extensão das funcionalidade de uma classe a uma (ou mais) classe(s).

Ex.:

public class Cliente extends Pessoa {
    private String nrCadastro;

    public static void main(String[] args) {
        Client c = new Cliente();
        c.nrCadastro = "87687687";
        c.setNome("damnit!"); //legado da classe mãe!
    }
}

O legado pode ser restringido via modificadores de acesso. Por exemplo nome e idade (atributos) não são herdados diretamente de Pessoa por Client mas indiretamente pelos getters/setters que por serem públicos permitem visibilidade.

A proteção ao acesso direto aos atributos chama-se encapsulamento.

O polimosfismo é a maneira que se tem de criar uam definição genérica em classes abstratas por exemplo e que os filhos especializam o comportamento:

public abstract class Mamifero {
   
     public abstract void anda();

}

Esta classe abstrata por si só não define como mamífero anda mas os filhos dela (que não são abstratos) devem criar o comportamento polimorfico para o método andar. Ex.:

public class Pessoa extends Mamifero {
     public void anda() {
          System.out.println("Eu caminho!");
     }
}

public class Canguru extends Mamifero {
     public void anda() {
          System.out.println("Eu salto!");
     }
}

public class Caller {

    public static void main(String[] args) {
        Mamifero = m1 = new Pessoa();
        m1.anda();

        Mamifero = m2 = new Canguru();
        m2.anda();
    }
}

Agora não esqueça de dizer ao seu professor que o iktuz passou pra você os conceitos no PortalJava!

em relação a:

achei interessante isso aqui http://blog.caelum.com.br/2006/09/14/nao-aprender-oo-getters-e-setters/[/quote]

Faça um sistema que implemente um método main que apresente os conceitos de herança, associação, polimorfismo de sobrecarga e sobreescrita, vetor de objetos, uso de gets e sets dos javabeans, ou seja, que apresente os principais conceitos aplicados na matéria. Lembrando que o conceito do trabalho levará em conta a prática dos conceitos listados acima.

Galera esse é o exercicio. Vejam se existe algo parecido, que o professor é meio doido kkk

É uma questão de ponto de vista. Talvez considerando aprender OO ele tenha razão. O motido para que se tenha um JavaBean, a princício, é para que se possa serializar um objeto. Por exemplo, com as classes XMLEncoder e XMLDecoder para serializar e deserializar objetos em formato XML respectivamente, só é aceito JavaBeans.

Criar uma forma te permite padronizar a estrutura de montagem (definição) dos componentes. Se isto é didático em termos de aprendizado… Tome como exemplo EJB. Está na versão 3.0 porque há muitas pessoas com problemas em assimilar a tecnologia. O exemplo claro é o esforço que deve ser feito para se escrever um simples HelloWorld.

Pessoalmente creio que JavaBeans pode muito bem ajudar a explicar encapsulamento, talvez dependa do exemplo :grin:

Pô Karlão, com estes exemplos tu tens condições de implementar o que o professor pediu. Ficar esperando tudo pronto não vai te ajudar em nada.

pow mais pra quem sabe é facil pegar os codigos e sair implementando
queria um exemplo completo pra eu poder ver como funciona