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



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

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

BSI UFRPE Prof. Gustavo Callou

Técnicas de Programação II

Programação Orientada a Objetos. Encapsulamento

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

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

5 Caso de estudo O cartão fidelidade

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Programação Orientada a Objetos em Java

Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido

Laboratório de Programação. Aula 13 Java 5COP088. Aula 13 Genéricos e Conjuntos Java Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr barbon@uel.

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

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

Coleções Avançadas. Programação Orientada a Objetos Java. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior

Conversão de Tipos e Arrays

Programação Orientada a Objetos em java. Polimorfismo

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

Linguagem de Programação III

Java TM e o Modelo de Objetos

Rafael Santos. Instituto Nacional de Pesquisas Espaciais rafael.santos. Rafael Santos - rafael.

FBV - Linguagem de Programação II. Um pouco sobre Java

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education

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

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

Capítulo 4. Packages e interfaces

Capítulo 21. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

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

Computação II Orientação a Objetos

Exercícios de Revisão Java Básico

Classes Abstratas e Interfaces

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

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

Análise e Projeto Orientados por Objetos

Herança. Alberto Costa Neto DComp - UFS

Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame

TCC Prof.: Leandro A. F. Fernandes Conteúdo: Tipos Genéricos

Java. Marcio de Carvalho Victorino

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

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

Orientação a Objetos com Java

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Keeper of Knowledge. Capítulo 2 Classes em Java

Universidade da Beira Interior. Sistemas Distribuídos

Introdução. Programação. Orientada a Objetos: Reuso. Introdução. Classes Abstratas

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

API e Coleções Java. Sérgio Luiz Ruivace Cerqueira

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

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

Prof. Jhonatan Fernando

Profº. Enrique Pimentel Leite de Oliveira

Orientação a Objetos com Java

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Técnicas de Programação Avançada TCC Prof.: Anselmo Montenegro

Prototype, um Design Patterns de Criação

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

Programação por Objectos. Java

Polimorfismo. Prof. Leonardo Barreto Campos 1

Seminário - C# DSO II. Desenvolvimento de Sistemas Orientados a Objetos 2. Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes.

Tipos de Dado Abstrato: Listas, Filas e Pilhas

Alocação Dinâmica e Transparente de Computadores Ociosos em Java

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

INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos

Implementando uma Classe e Criando Objetos a partir dela

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

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming

Threads e Concorrência em Java (Material de Apoio)

Reuso com Herança a e Composiçã

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

Java Threads. Introdução

Programação por Objectos. Java

Um pouco do Java. Prof. Eduardo

Curso Java Starter. 1

Classes Abstratas e Interfaces

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Java Coleções. Rodrigo C. de Azevedo

Algoritmos e Programação II. Sobrecarga

Professor: Douglas Sousa Cursos de Computação

Revisão da linguagem Java

Análise de Programação

THREADS EM JAVA. George Gomes Cabral

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

Classes, Superclasses e Subclasses

Collections Framework

UML Unified Modeling Language

3. PARADIGMA ORIENTADO A OBJETOS

Desenvolvimento OO com Java Orientação a objetos básica

Objetos não existem isolados

Transcrição:

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

Sumário Classes abstratas Interfaces Tipos genéricos Coleções

Classes abstratas São classes que não podem ser instanciadas, porque representam entidades "incompletas" Possuem métodos abstratos que devem ser sobrescritos nas classes derivadas mensagem do compilador: Bicho.java: Bicho is abstract; cannot be instantiated Bicho b = new Bicho(); ^ 1 error

Exemplo Método abstrato som() Método concreto som() Cria array de referências para Bichos

Classes abstratas Erro: classe não abstrata com método abstrato Métodos abstratos só podem ser declarados em classes abstratas Em geral, classes abstratas também possuem métodos concretos Se uma classe só tem métodos abstratos, é melhor declará-la como interface mensagem do compilador: Bicho.java: Bicho is not abstract and does not override abstract method som() in Bicho class Bicho ^ 1 error

Java na Desciclopédia :-) Classes abstratas :-) Fonte: http://desciclopedia.org/wiki/java_(linguagem_de_programação)

Interfaces São um tipo de encapsulamento contendo principalmente métodos Definem um conjunto de métodos (comportamento) que devem ser implementados em classes que herdam a interface interface Matricial { public void transpoe(); public void inverte(); } interface Runnable { public void run(); }

Implementando interfaces Usar a palavra-chave implements class MatrizEsparsa implements Matricial { public void transpoe() {... } public void inverte() {... } } class Worker implements Runnable { public void run() {... } }

Implementando interfaces Classes que implementam uma mesma interface garantem que têm um comportamento comum A plataforma Java tem diversas interfaces prédefinidas (ActionListener, Scrollable, Runnable, etc.)

Mais sobre interfaces Java suporta "herança múltipla" de interfaces, mas não de classes class A {...} interface B {...} interface B {...} class X extends A implements B,C {...}

Mais sobre interfaces Atributos declarados em interfaces são implicitamente public static final (constantes) Métodos declarados em interfaces são implicitamente public abstract Veja mais sobre interfaces em: http://download.oracle.com/javase/tutorial/java/concepts/interface.html

Tipos genéricos Classes genéricas definidas em função de algum parâmetro (tipos parametrizáveis) Polimorfismo paramétrico

Usando tipos genéricos Para usar o tipo, define-se o parâmetro específico Veja mais em: http://download.oracle.com/javase/tutorial/java/generics/index.html

Collections em Java Um framework com estruturas de dados e algoritmos reutilizáveis, disponíveis em java.util. Componentes Interfaces: definem como as estruturas podem ser manipuladas (ex.: List) Implementações: definem estruturas concretas (ex.: ArrayList, LinkedList) Algoritmos: métodos estáticos que se aplicam a diferentes coleções

Collections Interface Fonte: http://download.oracle.com/javase/tutorial/collections/interfaces/index.html

Exemplo de implementação: ArrayList Representa uma lista que pode ser acessada por índices (0 a size()-1) Implementa métodos da interface List: add(e e): adiciona elemento size(): número de elementos da lista clear(): remove todos os elementos isempty(): verifica se lista é vazia remove(object o): remove elemento remove(int index): remove elemento etc.

Exemplo saída: Tamanho inicial: 0 Novo tamanho: 4 Conteudo: [Sicrano, Fulana]

Percorrendo a lista Laço for tradicional, com índice for (int i = 0; i < sl.size(); i++) { String elem = sl.get(i); System.out.println(elem); }

Percorrendo a lista com for-each Laço for alternativo (for-each) Inspirado na programação funcional Pode ser usado com arrays ou classes tipo dos elementos na coleção Collection referência para elemento da coleção referência para a coleção for (String elem : sl) { System.out.println(elem); }

Algoritmos Ordenação, busca, embaralhamento, etc.

Algoritmos: sort import java.util.*; class Sort { public static void main(string[] args) { String[] array = {"cadabra", "abra"}; List<String> list = Arrays.asList(array); Collections.sort(list); System.out.println(list); } }