2013/01/28

Java - Capitulo 8: Composições

new Comment();


Composição: Ocorre quando uma classe possui variáveis de referência a objetos de outras classes.


Diferença entre herança e composição:


  • Herança = é (is) um/uma: Funcionário é pessoa
  • Composição = tem (has) um/uma: Diretor tem funcionário




Classe Autor.java

public class Autor {
//Criamos as variáveis privadas para fazer o encapsulamento
 private String nome;
 private String blog;
 private String email;
 
//Criamos o método construtor
 public Autor(String nome, String blog, String email) {
  super();
  this.nome = nome;
  this.blog = blog;
  this.email = email;
 }
 public String getNome() {
  return nome;
 }
 public void setNome(String nome) {
  this.nome = nome;
 }
 public String getBlog() {
  return blog;
 }
 public void setBlog(String blog) {
  this.blog = blog;
 }
 public String getEmail() {
  return email;
 }
 public void setEmail(String email) {
  this.email = email;
 }
}


Classe Editora.java

public class Editora {

//Criamos as variáveis privadas para fazer o encapsulamento
 private String nome;
 private String site;
 private String telefone;
 
//Criamos o método construtor
 public Editora(String nome, String site, String telefone) {
  super();
  this.nome = nome;
  this.site = site;
  this.telefone = telefone;
 }
 
 public String getNome() {
  return nome;
 }
 public void setNome(String nome) {
  this.nome = nome;
 }
 public String getSite() {
  return site;
 }
 public void setSite(String site) {
  this.site = site;
 }
 public String getTelefone() {
  return telefone;
 }
 public void setTelefone(String telefone) {
  this.telefone = telefone;
 }
}



Classe principal PrincipalBiblioteca.java

import javax.swing.JOptionPane;


public class PrincipalBiblioteca {
 public static void main(String[] args){

//Guardamos cada atributo em uma variável
  String nEditora = JOptionPane.showInputDialog("Digite o nome da editora");
  String sEditora = JOptionPane.showInputDialog("Digite o site da editora");
  String numEditora = JOptionPane.showInputDialog("Digite o numero da editora");
  
  String nAutor = JOptionPane.showInputDialog("Digite o nome do autor");
  String bAutor = JOptionPane.showInputDialog("Digite o blog do autor");
  String eAutor = JOptionPane.showInputDialog("Digite o email do autor");
  
  String nLivro = JOptionPane.showInputDialog("Digite o nome do livro");
  String gLivro = JOptionPane.showInputDialog("Digite o genero do livro");

//Enviamos os dados dessas variáveis para nosso novo objeto "l"
//O construtor vai receber os dados e vai salvar
  Livro l = new Livro(nLivro, gLivro, new Autor(nAutor, bAutor, eAutor), new Editora(nEditora, sEditora, numEditora));

//Mostramos os dados
  JOptionPane.showMessageDialog(null, 
    "Titulo do livro: " +l.getTitulo()+"\n" +
    "Genero do livro: " +l.getGenero()+"\n" +
    "Autor: " +l.getAutor().getNome()+"\n" +
    "Editora: " +l.getEditora().getNome());
 }
}
If You Enjoyed This, Take 5 Seconds To Share It

0 comentarios:

Postar um comentário