Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouDiego Clara Alterado mais de 10 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.