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

Slides:



Advertisements
Apresentações semelhantes
Modificadores Marco Antonio. Introdução Em todas as linguagens de programação o acesso a classes/métodos deve seguir algumas regras.
Advertisements

Java: Pacotes e Modificadores de Visibilidade
1 Orientação a Objetos: Herança Alcides Calsavara.
Java: Pacotes e Modificadores de Visibilidade
Generalização, Especialização e Conceitos
Iniciação ao Java – Márcio F. Campos
Programação Básica em Java
Polimorfismo e Acoplamento Dinâmico
Diagrama de Classes.
Linguagem de Programação II
Orientação a Objetos Classes
Capítulo 9 Herança 1.
Classes & Objectos em JAVA5
Herança e Polimorfismo
Herança P. O. O. Prof. Ângela e Grace.
Classes e objetos P. O. O. Prof. Grace.
Programação Orientada a Objetos com Java
Aula Prática If669 – Introdução à Programação
Linguagens de Programação
JAVA Orientação a Objetos
Linguagem de Programação II
Programação I Aula 2 (Métodos)
Linguagem de Programação JAVA
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Classes Abstratas e Interfaces.
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
UML e Java, Introdução AB,20001 Diagrama de Classes UML e JAVA Problema Existem diversos tipos de contas bancárias. Todas as contas têm um atributo saldo.
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng. da Computação IF62C - Fundamentos de Programação Semana 12 – Overloading X Overriding Prof.a.
Programação Orientada à Objetos
Implementação Orientada a Objetos – Aula 03
Análise Orientado aos Objetos Prof. Wolley W. Silva
Programação Orientada à Objetos
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Orientação a Objetos usando Java
Java Kickstart, day 2 Semelhanças com linguagem C.
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Aula Prática 4 Monitoria IP/CC (~if669).
Prof.: Bruno Rafael de Oliveira Rodrigues. Construtor é bloco declarado que é chamado no momento em que o Objeto é criado (instanciado). Todas as classes.
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
1 Marcio de Carvalho Victorino JAVA. 2 Declaração de Atributos [ ] [transient] [volatile] [static] [final] ; controle de acesso –public, package (default),
Classes Abstratas e Interface
Laboratório de Programação II Pacotes Visibilidade Referências a Objetos.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Paradigmas de Programação –Aula 7 Lab 2 Professores: Eduardo Mantovani Fábio Paula Santos.
Herança Modelagem e Programação Orientada a Objetos
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Modificadores Programação II.
OO com Java Luiz Carlos d´Oleron Roteiro de aula.
Introdução a Orientação a Objetos
Herança.
2 – Revisão de Programação Orientada a Objetos
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui.
Implementação Orientada a Objetos – Aula 03 Atributos e Encapsulamento Prof. Danielle Martin/ Marcia Bissaco Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Padrões de Projeto 2 – Revisão de Programação Orientada a Objetos.
1. 2 Programação Orientada a Objetos II Prof. Maurício Rodrigues de Morais
Herança em Java Curso: Informática Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
IDENTIFICAÇÃO DOS RELACIONAMENTOS Nesta atividade devem ser definidos os relacionamentos entre as classes Podem ser representados pela: – associação, –
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
AULA Mais Herança Curso: Informática (Subseqüente) Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
Herança e Polimorfismo Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de Informática,
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

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

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()

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

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

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; } :

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.

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

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

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 !!

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

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?

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

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

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 ?

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…

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