Disciplina: Programação Orientada à Objetos AULA 07 Agregação, Composição e Associação Corpo docente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio Procópio Esp. Felipe Dantas MsC. João Maria MsC. Liviane Melo
2
ser formado conter usar 3
4
/* Definição da classe Livro */ public class Livro { private Capitulo[] capitulos; public Livro(int qtdcapitulo){ capitulos = new Capitulo[qtdCapitulo]; /* Definição da classe Capitulo */ public class Capitulo { private Livro livro; 5
6
public class Carro { private Motor motor; private Porta portas[]; private Pneu pneus[]; /*... */ public class Carro { private Motor motor; private Porta portas[]; private Pneu p1, p2, p3, p4; /*... */ public class Pneu{ /*... */ public class Motor{ /*... */ public class Porta{ /*... */ 7
public class Trem { /*... */ public void definirestrada(estradaferro estradaferro){ this.estradaferro = estradaferro; public class EstradaDeFerro { /*... */ 8
9
10
public class Carro { private Motor motor; 11
12
13
package ifrn.agenda.dominio public class Contato { private String nome; private String telefone; public void setnome(string nome) { this.nome = nome; public String getnome() { return nome; public void settelefone(string telefone) { this.telefone = telefone; public String gettelefone() { return telefone; 14
package ifrn.agenda.dominio; public class Agenda { private Contato contatos[]; private int quantidade; public Agenda(){ contatos = new Contato[10]; quantidade = 0; public void inserir(contato contato){ contatos[quantidade++] = contato; /* Continua... */ 15
/* Continuação */ public Contato buscar(string nome){ for (int i = 0 ; i < quantidade ; i++) if (contatos[i].getnome().equals(nome)) return contatos[i]; /* Se sair do laço é porque não encontrou nenhum contato com o nome passado */ return null; public void remover(string nome){ // Exercício public int getquantidade(){ return quantidade; 16
package ifrn.agenda.interface; import java.util.scanner; public class UI { private Agenda agenda; private Scanner sc; public void run() { sc = new Scanner(System.in); int opcao = 0; do { printmenu(); opcao = Integer.parseInt(sc.nextLine()); switch (opcao) { case 1: inserircontato(); break; case 2: buscarcontato(); break; while (opcao!= 0); /* Continua... */ 17
/* Continuação */ private void inserircontato() { System.out.print("Digite o nome: "); String nome = sc.nextline(); System.out.println("Digite o telefone"); String telefone = sc.nextline(); Contato novo = new Contato(); novo.setnome(nome); novo.settelefone(telefone); agenda.inserir(novo); private void buscarcontato() { System.out.print("Digite o nome: "); String nome = sc.nextline(); Contato contato = agenda.buscar(nome); if (contato!= null) System.out.println(contato); else System.out.println("Contato não encontrado!!!!"); /* Continua... */ 18
/* Continuação */ private void removercontato() { System.out.println("A ser implementado"); private void printmenu() { System.out.println("\n\n ---- Menu Agenda de contatos V 1.0 ----"); System.out.println("\n Memória: " + agenda.quantidade() + " contatos"); System.out.println(" 0 - Sair"); System.out.println(" 1 - Inserir Contato"); System.out.println(" 2 - Buscar Contato"); System.out.println(" 3 - Remover Contato"); System.out.print("\n Digite uma opçãoo: "); public UI() { agenda = new Agenda(); 19
package ifrn.agenda.interface; public class AplicacaoAgenda { public static void main(string[] args) { UI tela = new UI(); tela.run(); 20
21