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 class ContaCor { : private String titular;
-nome do Titular -número da conta -senha -saldo atual +creditaValor() +debitaValor() +obtemSaldo() class ContaCor { : private String titular; private int numConta; private int senha; private double saldoAtual; } class ContaEsp extends ContaCor { private double limite; ContaEsp +limite -alteraLimite() -getCreditoUtilizado()

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

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

5 Usando super class ContaCor { protected String titular;
protected int numConta; 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 Do diretório documento Compilar todos.
Documento.java Carta.java Telegrama.java ExemploDocumento2.java Compilar todos. Executar e estudar ExemploDocumento2.java e entender o que está ocorrendo.

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

8 Exercício 3 Implemente um programa que cria objetos:
CartaRegistrada Encomenda Chame o método imprimir de cada objeto. 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 Do diretório contaCor:
ContaCor.java ContaEsp.java ExemploConta.java 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 ContaEsp É-UMA ContaCor Carro CONTÉM Motor
class ContaCor { : } class ContaEsp extends ContaCor { class Motor { class Carro { Motor motor; ContaEsp É-UMA ContaCor Carro CONTÉM Motor

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

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

15 Exercício 7 (extra) Definir nova classe Aviao 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 (%) Projete um construtor para inicialização Projete ExemploAviao e voe…

16 Exercício 8 (extra) Do diretório fila:
Lista.java Fila.java ExemploFila.java Compilar as três classes e executar a última 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