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)

Programação Orientada a Objetos em Java

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

5 Caso de estudo O cartão fidelidade

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

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

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

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

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.

Linguagem de Programação III

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

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

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

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

Análise de Programação

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

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

Java TM e o Modelo de Objetos

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

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

Capítulo 4. Packages e interfaces

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

Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs

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

Exercícios de Revisão Java Básico

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

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

Análise e Projeto Orientados por Objetos

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

1) De acordo com o trecho de código escrito na linguagem JAVA, responda a questão abaixo:

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

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

Classes Abstratas e Interfaces

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

Computação II Orientação a Objetos

Curso de Aprendizado Industrial Desenvolvedor WEB

Orientação a Objetos com Java

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

Sobre o Professor Dr. Sylvio Barbon Junior

Herança. Alberto Costa Neto DComp - UFS

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

Java. Marcio de Carvalho Victorino

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

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

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

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

Programação por Objectos. Java

Keeper of Knowledge. Capítulo 2 Classes em Java

Universidade da Beira Interior. Sistemas Distribuídos

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

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

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

Orientação a Objetos com Java

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

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

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

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

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

Tipos de Dado Abstrato: Listas, Filas e Pilhas

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

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

Introdução ao C# . Visão geral do.net Framework

Prototype, um Design Patterns de Criação

Prof. Jhonatan Fernando

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

Profº. Enrique Pimentel Leite de Oliveira

Programação por Objectos. Java

Um pouco do Java. Prof. Eduardo

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

Reuso com Herança a e Composiçã

Introdução à Programação. Interfaces Gráficas

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

Polimorfismo. Prof. Leonardo Barreto Campos 1

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

Revisão da linguagem Java

PROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

JAVA COLLECTIONS API: LISTAS

Implementando uma Classe e Criando Objetos a partir dela

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

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

Classes, Superclasses e Subclasses

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

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

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Curso Java Starter. 1

MÓDULO 4 SWING Parte 3

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 Introdução GUI

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

Algoritmos: shuffle import java.util.*; class Shuffle { public static void main(string[] args) { String[] array = {"a", "b", c, d, e }; List<String> list = Arrays.asList(array); Collections.shuffle(list); System.out.println(list); } }

Graphical User Interfaces (GUIs)

Graphical User Interfaces (GUIs) Oferecem portabilidade Utilizadas tanto em Desktop quanto Web Pacotes de classes da plataforma java: java.awt.*: elementos básicos javax.swing.*: componentes de alto nível

Graphical User Interfaces (GUIs) Oferecem portabilidade Utilizadas tanto em Desktop quanto Web Pacotes de classes da plataforma java: java.awt.*: elementos básicos javax.swing.*: componentes de alto nível

Graphical User Interfaces (GUIs) Oferecem portabilidade Utilizadas tanto em Desktop quanto Web Pacotes de classes da plataforma java: java.awt.*: elementos básicos Herança javax.swing.*: componentes de alto nível