Classe Abstrata e Interface

Documentos relacionados
Java na Prática. Célio Silva Aula 3

Desenvolvimento Web TCC Turma A-1

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding

Introdução à orientação a objetos

Programação Orientada a Objetos

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Programação de Computadores - I. Profª Beatriz Profº Israel

Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads.

Prof. Jhonatan Fernando

Orientação a Objetos e a Linguagem Java

Programação Orientada a Objetos (DPADF 0063)

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Profº. Enrique Pimentel Leite de Oliveira

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Técnicas de Programação II

Herança. Prof. Leonardo Barreto Campos 1

Análise e Projeto Orientados por Objetos

Programação de Computadores - I. Profª Beatriz Profº Israel

Orientação a Objetos com Java

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Sistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26

Programação Orientada a Objetos em Java. Herança

Encapsulamento de Dados

Construção de novas Classes em Java. Classes Atributos Métodos Herança...

PHP ORIENTADO A OBJETOS. 2º Encontro PHP MG 16 e 17 de Outubro / Charles Schaefer

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Programação Orientada a Objetos C++

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2014/2

Módulo 06 Desenho de Classes

PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof. Marcelo da Silveira Siedler siedler@gmail.com

Programação Orientada a Objetos

Análise de Programação

Programação por Objectos. Java

JAVA Express com Lógica. Subtítulo

Capítulo 5 Reuso de Classes

Manual para utilização da funcionalidade de importar arquivo XML para prestação de contas

Herança e Polimorfismo de Inclusão

Análise de Sistemas 3º Bimestre (material 2)

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;

Programação Java. Construção de Interface gráfica. Processo Básico: OO + Eventos. Exemplo

Programação Orientada a Objetos em Java

Programação Orientada a Objetos SANTOS, Rafael

Capítulo 4 - Polimorfismo

Orientação a Objetos em Java. LPGII - Java. Orientação a Objetos em Java. Definição de classes. Membros de Classe

Subtipos e Subclasses

Herança. Algoritmos e Programação II. Aula 5 Herança

Programação por Objectos. Java

Aula 10 Polimorfismo. Prof. Jefersson Alex dos Santos. Baseado em:

Reuso com Herança a e Composiçã

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Programação Orientada a Objetos. Encapsulamento

Guia de Fatores de Qualidade de OO e Java

Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003

Material de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3)

Programação para a Plataforma Android Aula 17. Broadcasts

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza

Módulo 07 Características Avançadas de Classes

Programação com Acesso a BD. Programação com OO Acesso em Java

Administração Central Unidade de Ensino Médio e Técnico - Cetec. Ensino Técnico

Linguagem Técnica de Programação III Orientação a Objetos

ORIENTAÇÃO A OBJETOS. Professora Lucélia Oliveira

Tópicos em Engenharia de Computação

Herança. Alberto Costa Neto DComp - UFS

Orientação a Objetos

3. Numerar a coluna da direita conforme a da esquerda 1) Classe (2) :Aluno 2) Um dado objeto (3) oaluno:aluno 3) Objeto (1) Aluno

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Lista de Exercícios Nro. 1 Programação Orientada a Objetos - SCC204

ENGENHARIA DE SOFTWARE

Interfaces. Interfaces: Exemplo. ! São um mecanismo poderoso para ter bons desenhos pois permitem separar contratos das implementações

Programação Orientada a Objetos (DPADF 0063)

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados:

Java TM e o Modelo de Objetos

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores

Revisão OO Básico. Orientação a Objetos em Java

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br)

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Interface gráfica em Java: Swing e SWT

Computação II Orientação a Objetos

Tópicos da Aula. Classes e Objetos. Classe Pública em Java. Classes em Java. Assinatura de Métodos. Corpo de Classes e Métodos. Conceitos de classe

Sobre o Professor Dr. Sylvio Barbon Junior

Vítor E. Silva Souza

Capítulo 8. Introdução UML

Padrão Arquitetura em Camadas

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

PROGRAMAÇÃO DE COMPUTADORES

BSI UFRPE Prof. Gustavo Callou

Orientação a Objetos (em Java)

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Exercícios de Revisão Java Básico

Paradigmas de Programação. Genéricos

Estrutura em Camadas. Estrutura em Camadas. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Linguagem de Programação III

Prof. Esp. Adriano Carvalho

Transcrição:

Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança

Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public Modificadores de Acesso static e final Parte 05 Polimorfismo: sobrecarga Polimorfismo: sobrescrita Parte 06 Classes abstratas Interfaces 2 Herança

Override x Overload Na redefinição o método sobrescrito deve ter a mesma assinatura do método herdado Caso a assinatura seja diferente ocorrerá um overload (sobrecarga) de métodos 3 Herança

Herança Herança e Redefinição Evita duplicação de código Aumenta o reuso de código Redefinição Aumenta a extensibilidade do sistema Cobre os casos em que a herança ainda não é suficiente 4 Herança

Problemas: Redefinição de Métodos Obrigatoriedade de preservação da semântica do método original Preservação ou aumento da visibilidade Inadequados para alguns casos do mundo real: algumas características entre classes são comuns, porém existem diferenças em relação a algumas funcionalidades 5 Herança

Classes Abstratas Conceito que agrupa categorias que possuem apenas algumas características em comum Resolve os problemas da redefinição de métodos Melhor estruturação do software Melhor reuso Melhor extensibilidade Não podem ser instanciadas 6 Herança

Classe Abstratas (cont) Podem ter métodos abstratos: método sem corpo definido implementação é deixada para as subclasses sintaxe da declaração: public abstract void debitar(double valor); Subclasses não abstratas têm obrigatoriedade de implementar os métodos abstratos das superclasses 7 Herança

Interfaces 8 Herança

Interfaces Caso especial de classes abstratas Possui todos os métodos abstratos, públicos e não podem ser static. Não podem conter atributos, exceto static final (constantes globais). Conceito que agrupa categorias por funcionalidade Definem tipo de forma abstrata, apenas indicando a assinatura dos métodos 9 Herança

Interfaces Servem para publicar os métodos que um tipo deve prover Introduz conceitos de subtipo e supertipo (ao invés de subclasse e superclasse) Os métodos são implementados pelos subtipos Não possuem construtores -> Não podem ser instanciadas 10 Herança

Múltiplos supertipos Uma classe pode implementar mais de uma interface (pode ter vários supertipos) << A >> << B >> << C >> Implementa os métodos de A, B e C D 11 Herança

Relação de implementação A classe que implementa uma interface deve definir os métodos da interface classes concretas têm que implementar todos os métodos da interface classes abstratas que implementam interfaces podem deixar de implementar algum método abstrato definido na interface 12 Herança

Subtipos e instanceof public class Circulo extends Forma implements Selecao, Rotacao, Movimentacao { }...... Circulo c = new Circulo(); res1 = c instanceof Circulo; res2 = c instanceof Selecao; res3 = c instanceof Rotacao; res4 = c instanceof Movimentacao;... 13 Herança

Interfaces e atributos Interfaces são excelentes repositórios para constantes globais public interface TipoConta{ } public static final int CONTA = 0; public static final int POUPANCA = 1; public static final int BONIFICADA = 2; public static final int IMPOSTO = 3; 14 Herança