A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Laboratório de Java Herança e Agregação (Lab II) Prof. Guido Araújo.

Apresentações semelhantes


Apresentação em tema: "Laboratório de Java Herança e Agregação (Lab II) Prof. Guido Araújo."— Transcrição da apresentação:

1 Laboratório de Java Herança e Agregação (Lab II) Prof. Guido Araújo

2 Herança ContaCor -nome do Titular -número da conta -senha -saldo atual +creditaValor() +debitaValor() +obtemSaldo() ContaEsp +limite -alteraLimite() -getCreditoUtilizado() class ContaCor { : private String titular; private int numConta; private int senha; private double saldoAtual; : } class ContaEsp extends ContaCor { private double limite; : }

3 Herança (cont.) ContaCor -nome do Titular -número da conta -senha -saldo atual +creditaValor() +debitaValor() +obtemSaldo() ContaCor

4 Herança (cont.) ContaEsp -nome do Titular -número da conta -senha -saldo atual -limite +creditaValor() +debitaValor() +obtemSaldo() +alteraLimite() +getCreditoUtilizado() ContaCor ContaEsp

5 Usando super class ContaCor { protected String titular; protected int numConta; protected String titular; protected double saldoAtual; : Conta(String nome, float val, int num, int pwd) { titular = nome; : } class ContaEsp extends ContaCor { double limite; ContaEsp (String nome, float val, int num, int pwd) { super(nome, val, num, pwd); numConta = 1234; limite = 200; } : }

6 Exercício 1 1.Do diretório documento Documento.java Carta.java Telegrama.java ExemploDocumento2.java 2.Compilar todos. 3.Executar e estudar ExemploDocumento2.java e entender o que está ocorrendo.

7 Exercício 2 1.Definir CartaRegistrada subclasse de Carta atributos: data e local 2.Definir Encomenda subclasse de CartaRegistrada atributo: conteudo CartaRegistrada Carta Encomenda

8 Exercício 3 1.Implemente um programa que cria objetos: CartaRegistrada Encomenda 2.Chame o método imprimir de cada objeto. 3.Compile e execute.

9 Visibilidade Protegida class ContaCor { : protected double saldoAtual; : } class ContaEsp extends ContaCor { : public float getCreditoUsado { return saldoAtual > limite ? 0 : limite – saldoAtual; } Viola regra: Membros devem ser privados !!

10 Visibilidade Protegida class ContaCor { : private double saldoAtual; : protected float getSaldoAtual() { } class ContaEsp extends ContaCor { : public float getCreditoUsado { return getsaldoAtual() > limite ? 0 : limite – getsaldoAtual(); } Agora sim !! Via método protegido

11 Exercício 4 1.Do diretório contaCor: ContaCor.java ContaEsp.java ExemploConta.java 2.Compilar as três classes e executar a última O que aconteceu durante a compilação de ContaEsp? Você saberia explicar ? Como usar protected para contornar isto ? Existe outra solução?

12 Herança vs. Agregação class ContaCor { : } class ContaEsp extends ContaCor { : } class Motor { : } class Carro { Motor motor; : } ContaEsp É-UMA ContaCor Carro CONTÉM Motor

13 Exercício 5 1.Do diretório veiculos: Carro.java 2.Definir e agregar a classe abaixo à Carro. Motor 3.Definir os seguintes métodos para Motor ligar isLigado 4.Definir os seguinte métodos para Carro ligar isLigado

14 Exercício 6 (extra) 1.Definir nova classe Caminhao: numEixos capacidade 2.Projete um construtor 3.Projete programa ExemploCaminhao Instacia caminhão e imprime eixos e carga 4.Carros e caminhões são parecidos Como evitar repetir operações em comuns ?

15 Exercício 7 (extra) 1.Definir nova classe Aviao 2.Atributos Tanque combustível (idêntico ao anterior) Duas turbinas (parecida com Motor) potência máxima potência atual (%) Compartimento de carga: capacidade máxima capacidade atual (%) 3.Projete um construtor para inicialização 4.Projete ExemploAviao e voe…

16 Exercício 8 (extra) 1.Do diretório fila: Lista.java Fila.java ExemploFila.java 2.Compilar as três classes e executar a última 3.O comportamento de uma fila não é respeitado Por quê ? Agregue Fila e Lista de modo que a respeitar o comportamento


Carregar ppt "Laboratório de Java Herança e Agregação (Lab II) Prof. Guido Araújo."

Apresentações semelhantes


Anúncios Google