Aula Prática 1 Monitoria IP/CC (~if669). Roteiro 1.Polimorfismo 2.Superclasses Abstratas 3.Dúvidas 4.Exercício.

Slides:



Advertisements
Apresentações semelhantes
JAVA Orientação a Objetos
Advertisements

Herança, Polimorfismo e Classes Abstratas em Java
Java – Classes Abstratas
Projeto de Sistemas de Software Trabalho de Padrões de Projeto
1 Orientação a Objetos: Herança Alcides Calsavara.
Herança, sobrecarga e ligação dinâmica zHerança zReferência super zSobrecarga de métodos zSobreposição zLigação dinâmica de métodos zfinal.
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Generalização, Especialização e Conceitos
Iniciação ao Java – Márcio F. Campos
Polimorfismo e Classes Abstratas Profa
Linguagem de Programação II
Linguagem de Programação II
JAVA ENUMS © 2009 by Jorge L. de Souza Leão março de 2009 PEE - COPPE/UFRJ.
Capítulo 9 Herança 1.
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Classes Abstractas.
Herança e Polimorfismo
Classes e objetos P. O. O. Prof. Grace.
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Polimorfismo em C#.
Programação Orientada a Objetos com Java
Aula Prática If669 – Introdução à Programação
JAVA Orientação a Objetos
Programação orientada a objetos: Polimorfismo
Paradigmas da Programação – Semestre 1– Aula 5 Lab3
GEJAVA IV SCJA – Certificação Sun java associado exame cx
Programação Orientada à Objetos
Aula 3 CoL, atividade Polimorfismo (late binding) Modificador final Modificador abstract Interfaces Herança múltipla Atribuição, Construtores, Destrutores,
Linguagem de Programação JAVA
Capítulo 1 Tipo enumerado.
Professora Lucélia Oliveira
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
Programação Orientada a Objetos: Reuso
Linguagem II Exceções.
Aula Prática 1 Monitoria IP/CC (~if669). Verificação Dinâmica de Tipos Métodos de superclasses e subclasses: Uso de métodos de subclasses quando se é.
Aula prática 14 Orientação a Objetos – C++ Parte 2
Programação Orientada a Objetos - Java
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Introdução às Java Threads
Orientação a Objetos usando Java
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Aula Prática 4 Monitoria IP/CC (~if669).
Polimorfismo.
Decorator POO - Avançado.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
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
Herança e Polimorfismos
Capítulo 1. Classes internas  Classe interna  Instância da classe interna  Referências na classe interna  Modificadores de membros  Classe interna.
Módulo 9 Strings , Coleções e I/O
Herança e Arquitetura em camadas
Aula Prática 5 05/05/2010. //Estrutura do método public int subtrair (int a, int b){ //Calcule a operação desejada. int resultado = a – b; //Retorne o.
Programação I Aula 11 (Arrays de Objetos) Prof. Gilberto Irajá Müller Última atualização 27/5/2009.
Classes Abstratas e Interfaces GX – Aula05 1.
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.
Aula Prática 5 Monitoria IP/CC (~if669). Roteiro 1. 1.Recursão 2. 2.Escopo de Variáveis 3. 3.Arrays 4. 4.Strings.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Paradigmas da Programação – Semestre 1 – Aula 8 Professor: Eduardo Mantovani )
Bruno Inojosa MCP .NET Framework
Linguagem II Classes Abstratas Interfaces. Davi Pires Revisão Reuso de código Superclasses e subclasses Composição vs. Herança Construtores.
1 Java: Modificador abstract para classes e métodos Alcides Calsavara.
Classes abstratas São classes das quais não se pode instanciar objetos. São classes das quais não se pode instanciar objetos. Seu objetivo é ser herdada.
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 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Classes Abstratas e Interface. 2 Classe Abstrata  Uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos);
Herança em Java Curso: Informática Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Aula Prática 1 Monitoria IP/CC (~if669)

Roteiro 1.Polimorfismo 2.Superclasses Abstratas 3.Dúvidas 4.Exercício

Polimorfismo Através do uso de hierarquia de classes, o polimorfismo permite “programar no geral” em vez de “programar no específico” Suponha que a superclasse Pessoa tenha o atributo função e as classes Aluno e Professor estendam a classe Pessoa. Assim: Pessoa[] pessoas = new Pessoa[3]; pessoas[0] = new Aluno(); pessoas[1] = new Professor(); pessoas[2] = new Professor(); for(int i = 0; i < pessoas.length; i++) { System.out.println(pessoas[i].getFuncao()); } Comportamento polimórfico do método getFuncao();

Polimorfismo O polimorfismo permite projetar e implementar sistemas que são facilmente extensíveis. Poderíamos, por exemplo, adicionar uma nova classe chamada Coordenador (com função diferente de aluno ou professor) sem modificar outras partes do projeto. Bastando adicionar a classe à hierarquia. public class Coordenador extends Pessoa{ public Coordenador() { super("Coordenar."); } Chamada ao construtor da superclasse (Pessoa)

Superclasses Abstratas Classes Abstratas são classes que possuem um ou mais métodos não implementados (métodos abstratos, que são declarados como abstract). Geralmente, classes abstratas estão no topo de uma hierarquia de classes, mas não é possível instanciar objetos de um tipo de classe abstrata. Subclasses de classes abstratas (chamadas de classes concretas) devem implementar o código dos métodos abstratos.

Superclasses Abstratas Declarando classes e métodos abstratos Obs.: uma superclasse abstrata não necessariamente precisa conter apenas métodos abstratos. public abstract class ClasseAbstrata { public abstract void metodoAbstrato(); }

Dúvidas?

Exercício Implemente a seguinte hieraquia de classes: Formas bidimensionais devem prover o método obterArea(), que retorna a área da forma geométrica; Formas tridimensionais devem prover métodos obterArea() e obterVolume(), que retornam a área da superfície e o volume da forma tridimensional, respectivamente; FormaGeometrica Quadrado Círculo FormaTridimensional FormaBidimensional Triângulo Tetraedro Cubo Esfera

Exercício (cont.) Escreva um programa que utiliza um array de referências Forma para objetos de cada classe concreta na hierarquia. Itere pelo array determinando se cada forma geométrica é uma forma bi ou tridimensional. Caso seja uma forma bidimensional, exiba sua área. Se for uma forma tridimensional, exiba sua área superficial e seu volume.