alguem pode me dizer a diferença e se possível um pequeno exemplo de herança e composição???
vlw
alguem pode me dizer a diferença e se possível um pequeno exemplo de herança e composição???
vlw
bom, pode-se dizer que os dois servem para reutilizar alguma funcionalidade.
A composição estende uma classe pela delegação de trabalho para outro objeto. a herança estende atributos e métodos de uma classe
Use composição para estender as responsabilidades pela delegação de trabalho a outros objetos
Na composição:
Um exemplo :
Na Herança:
Atributos, conexões a objetos e métodos comuns vão na superclasse. Adicionamos mais dessas coisas nas subclasses
Não sei se ajudou…qualquer coisa, dá o “grito” rsr
t+
Entenda apenas isso:
Herança: É UM, ex: você é um ser humano, pois herdou caracteristicas desta raça
Composição: TEM UM, ex: você tem um cérebro e isso é necessário para ser um humano
Agregação: Você usa roupas, porém, poderia viver sem usa-las.
outro exemplo:
herança: Cavalo É-UM animal.
composição um Cavalo TEM-UMA(tem-um) Rédia.
O q eu entendi foi mais ou menos assim (me corrijam se estou errado):
herança: herda os atributos de uma classe
ex:
Na classe pessoa eu coloco alguns atributos (nome, idade, endereço);
Na classe aluno eu chamo os atributos (extends) da classe pessoa (super) e incluo mais atributos que eu quiser.
composição: torna uma classe um atributo de outra classe
ex: ???
composição não to conseguindi entender!!
Aproveitando o exemplo do LPJava.
public class Animal{
public String nome;
public String getNome(){
return this.nome;
}
public void setNome(String nome){
this.nome = nome;
}
}
//Aqui Cavalo É-UM (herança) Animal, então ele herda tanto o atributo nome quanto os métodos getNome e setNome da classe Animal.
//Além disso, ele TEM-UMA (composição) Redia
public class Cavalo extends Animal{
public Redia redia;
}
public class Redia{
public String cor;
public int tamanho;
//métodos get e set...
}
em java a Herança pode ser da seguinte maneira:
public class Desenha_Janela extends JFrame
{
public Desenha_Janela()
{
/No codigo abaixo Desenha_Janela esta herdando toda a estrutura do Frame, ai não é necessario ficar escrevendo D esenha_Janela.setTitle(…); Desenha_Janela.setSize(…); e ai por diantee…/
this.setTitle("Exemplo de Herança");
this.setSize(300,300);
this.setVisible(true);
}
public static void main()
{
new Desenha_Janela();
}
}
Qualquer duvida posta ae !
Abraços!
isto tem alguma coisa a ver com o topico postado ?
Abraços
isto tem alguma coisa a ver com o topico postado ?
Abraços
[quote=babyJava]isto tem alguma coisa a ver com o topico postado ?
Abraços[/quote]
com o Tópico não, com seu post sim!
Então voces estão querendo dizer que
Herança : É uma forma possivel de estruturar o seu codigo, que é utilizada através de um comando
chamado extends
Composição : é uma forma, um nome, para quando voce inclui algo a mais(atributo) na classe que voce herdeu,
é meio que um pattern??
Excelente post sobre isso:
http://www.guj.com.br/posts/list/2542.java
E ja que sua duvida é mais sobre compsição aqui: