Paradigmas de Programação. Genéricos

Tamanho: px
Começar a partir da página:

Download "Paradigmas de Programação. Genéricos"

Transcrição

1 Genéricos Extensão à linguagem Java apresentada pelo JDK1.5 Permite reutilização de software com tipo seguro Permite abstrair do tipo de dados Exemplo: Desenvolver código para uma classe (por ex, uma pilha) de qualquer tipo de dados ou um método (por ex, imprimir elementos de um array) de qualquer tipo de dados 1

2 Construção de um método genérico Se pretendesse escrever um array de Integer e um array de Automovel e um array de String teria que desenvolver código para 3 métodos escreverarray( ): public static void escreverarray( Integer[] array) public static void escreverarray( Automovel[] array) public static void escreverarray( String[] array) Podemos substituí-los por este: public static <E> void escreverarray( E[] array) { for(e elem : array) System.out.println(elem); 2

3 Construção de um método genérico (cont) No exemplo anterior E designa-se por parâmetro tipo ou variável tipo, é o identificador que especifica o nome de um tipo genérico, obrigatòriamente referência A declaração de métodos genéricos tem uma secção de parâmetros tipo (1 ou mais, separados por, ) delimitada por < > que precede o tipo de retorno do método O tipo genérico pode ser usado em tipo de retorno tipo de parâmetro tipo de variáveis locais 3

4 Construção de um método genérico (cont) Construir um método que determina o maior de 3 objectos (todos diferentes). Seja o seguinte o código do método main( ) public static void main(string [] args) { Integer x,y,z; x=10;y=20;z=15; Automovel a1=new Automovel("11-11-aa", Fiat",1200,2005,12,20); Automovel a2=new Automovel("11-11-aa", Audi",1200,2005,12,20); Bicicleta b1=new Bicicleta( BMX","1234Maia"); System.out.println(maior(x,y,z)); System.out.println(maior(a1,a2,b1)); 4

5 Construção de um método genérico (cont) Como há que fazer comparações, os objectos que estiverem em jogo terão que implementar o interface Comparable<E> e portanto terão que definir código para o metodo compareto( ) public static <E extends Comparable<E>> E maior(e el1,e el2,e el3){ E max=el1; if(el2.compareto(max)>0) max=el2; if(el3.compareto(max)>0) max=el3; return max; 5

6 Construção de um método genérico (cont) Vejamos agora o código do método compareto( ) na classe Veiculo. Consideramos que a comparação era feita através da marca public int compareto(object obj) { Veiculo v=(veiculo)obj; return this.marca.compareto(v.marca); 6

7 Métodos genéricos (cont) Métodos genéricos podem ser sobrecarregados por outros métodos genéricos, (variando o nº de parâmetros) ou por métodos não genéricos. O compilador 1º procura aquele cujos argumentos são exactamente iguais aos da invocação, se não encontra, então procura se há algum que embora não exacto é aplicável. 7

8 Classes genéricas ou Classes parametrizaveis A declaração de uma classe genérica (assemelha-se a uma não genérica) faz-se colocando a seguir ao nome da classe uma secção de parâmetros tipo. Exemplo: public class Pilha<E> { private final int maxelem; // nº maximo de elementos private int topo; // posição do último elemento private E[] elementos // array que guarda os elementos da pilha 8

9 Classes genéricas ou Classes parametrizaveis //Construtores public Pilha() { this(10); public Pilha(int n){ maxelem=n > 0? n :10; topo= -1; //inicialmente vazia //elementos= new E[maxElem] dá erro de compilação // não admite new de um parâmetro tipo elementos=(e[]) new Object[maxElem]; 9

10 Classes genéricas ou Classes parametrizaveis public void push(e valor) throws ExcepcaoPilhaCheia{ if(topo==maxelem-1) throw new ExcepcaoPilhaCheia("Pilha cheia não é possível fazer push); elementos[++topo]=valor; public E pop() throws ExcepcaoPilhaVazia{ if(topo==-1) throw new ExcepcaoPilhaVazia("Pilha vazia não é possivel fazer pop"); return elementos[topo--]; 10

11 Classes de excepção usadas no exemplo class ExcepcaoPilhaCheia extends RuntimeException { public ExcepcaoPilhaCheia(String s){ super(s); class ExcepcaoPilhaVazia extends RuntimeException{ public ExcepcaoPilhaVazia(String s){ super(s); 11

12 Método main usado no exemplo public static void main(string [] args) { Pilha<Veiculo> p=new Pilha<Veiculo>(2); Automovel a1=new Automovel("11-11-aa","Fiat",1200,2005,12,20); Automovel a2=new Automovel("11-11-aa","Audi",1200,2005,12,20); Bicicleta b1=new Bicicleta("ZMX","1234AA"); try{ p.push(a1);p.push(a2);p.push(b1); catch(excepcaopilhacheia e){ System.out.println(e.getMessage()); System.out.println(p.pop()); // 12

13 Notas sobre Genéricos Uma classe genérica pode ser derivada de uma não genérica Uma classe genérica pode ser derivada de outra genérica Uma classe não genérica pode ser derivada de uma genérica Um método genérico numa subclasse pode reescrever um método genérico da super se ambos têm a mesma assinatura Numa classe os parâmetros tipo não podem ser usados em declarações estáticas da classe. 13

14 A classe Arrays Esta classe pertence ao package java.util, contem vários métodos para manipular arrays tais como ordenar e pesquisar. Todos os métodos são estáticos e os arrays a manipular podem ser de tipos primitivos ou de objectos. Principais métodos: Retorno boolean void void indice List Invocação do método Arrays.equals(array1,array2) Arrays.fill(array,valor) Arrays.sort(array) Arrays.binarySearch(array_ordenado,valor_a_procurar) Arrays.asList(array_de_objectos) 14

15 A classe Collections Esta classe pertence ao package java.util, consiste exclusivamente em métodos estáticos que operam polimorficamente sobre colecções ou devolvem colecções. Todos os métodos lançam a excepção NullPointerException se as colecções que lhes são fornecidas são null. Colecção é um conjunto de referências para objectos que são geralmente todos do mesmo tipo. Existem interfaces que declaram operações para serem realizadas genericamente em vários tipos de colecções, nomeadamente: Collection, Set, List, Queue, Map 15

16 A classe Collections Principais métodos: Retorno boolean void void indice List boolean int boolean objecto objecto void Invocação do método Collections.copy(lista_destino,lista_origem) Collections.fill(lista,valor) Collections.sort(lista) Collections.binarySearch(lista_ordenada,valor_a_procurar) Collections.reverse(lista) Collections.disjoint(lista1,lista2) Collections.frequency(lista, valor) Collections.addAll(lcolecçao,objectos_a_juntar) Collections.max(colecçao_de_objectos) Collections.min(colecçao_de_objectos) Collections.shuffle(lista) 16

17 Nota1: Para utilizar os métodos sort, binarysearch a classe dos objectos que constituem a lista devem implementar a interface Comparable e definir o método compareto(...) Nota2: A interface List é implementada por algumas classes, a saber: ArrayList LinkedList Vector Nota3: Auto boxing ocorre quando se juntam valores do tipo primitivo aos objectos destas classes, porque elas só guardam referências para objectos. De igual modo ocorre Auto unboxing quando se obtem um valor destas colecções 17

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Reader e Writer para streams de caracteres (texto).

Reader e Writer para streams de caracteres (texto). Folha 1-1 Recordando POO: Streams Uma stream é uma abstracção que representa uma fonte genérica de entrada de dados ou um destino genérico para escrita de dados que é definida independentemente do dispositivo

Leia mais

Métodos Genéricos. Prof.: Michele Nasu Tomiyama Bucci

Métodos Genéricos. Prof.: Michele Nasu Tomiyama Bucci Métodos Genéricos Prof.: Michele Nasu Tomiyama Bucci Introdução Métodos genéricos e classes genéricas (e interfaces) permitem especificar, com uma única declaração de método, um conjunto de métodos relacionados

Leia mais

Collections Framework

Collections Framework Collections Framework 1 Arrays p Manipular array é bastante trabalhoso. p Dificuldades aparecem em diversos momentos: n não podemos redimensionar um array em Java; n é impossível buscar diretamente por

Leia mais

9 Classes Abstractas e Interfaces

9 Classes Abstractas e Interfaces 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Java Collections Framework (JCF) Uma coleção (collection) é um objeto que agrupa vários elementos. A JCF consiste numa arquitetura para representação e manipulação de coleções. Contém: - Um conjunto de

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Aula 10 Polimorfismo. Prof. Jefersson Alex dos Santos. Baseado em: http://homepages.dcc.ufmg.br/~fernando/classes/dcc052/ementa/lesson8/

Aula 10 Polimorfismo. Prof. Jefersson Alex dos Santos. Baseado em: http://homepages.dcc.ufmg.br/~fernando/classes/dcc052/ementa/lesson8/ Aula 10 Polimorfismo Prof. Jefersson Alex dos Santos Baseado em: http://homepages.dcc.ufmg.br/~fernando/classes/dcc052/ementa/lesson8/ Polimorfismo Definição: É a capacidade de um objeto em decidir que

Leia mais

Interfaces POO. Prof. Marcio Delamaro

Interfaces POO. Prof. Marcio Delamaro Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso

Leia mais

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível. Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante

Leia mais

Orientação a Objetos AULA 09

Orientação a Objetos AULA 09 Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista

Leia mais

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu: Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)

Leia mais

Coleções. Prof. Marcelo Roberto Zorzan

Coleções. Prof. Marcelo Roberto Zorzan Coleções Prof. Marcelo Roberto Zorzan Coleções Aula de Hoje Introdução Coleções podem representar estruturas de dados complexas de forma transparente para o programador. Exemplos: Músicas favoritas armazenadas

Leia mais

Atividade 08 - Utilizando Collections - List

Atividade 08 - Utilizando Collections - List Atividade 08 - Utilizando Collections - List A Figura 1 mostra a árvore da hierarquia de interfaces e classes da Java Collections Framework que são derivadas da interface Collection. O diagrama usa a notação

Leia mais

Programação Orientada a Objeto Java

Programação Orientada a Objeto Java Programação Orientada a Objeto Java Aula 2 Introdução a Programação Java Sintaxe da Linguagem e Principais Conceitos Profª Kelly Christine C. Silva Sumário Construção do programa Saída de dados Entrada

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

JAVA COLLECTIONS API: LISTAS

JAVA COLLECTIONS API: LISTAS COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO JAVA COLLECTIONS API: LISTAS FOZ DO IGUAÇU 2013 LISTA DE QUADROS QUADRO 1 EXEMPLO DE LIST,

Leia mais

Programação Java (nível intermediário) 4. Polimorfismo

Programação Java (nível intermediário) 4. Polimorfismo Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo

Leia mais

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções Implementação de Genéricos, Iteradores Isabel Harb Manssour Porto Alegre, maio de 2006 Roteiro Implementação de Genéricos Coleções Conceito de Genérico Implementação Iteradores Conceito Utilização ForEach

Leia mais

GUIA DE ESTILO DE PROGRAMAÇÃO EM JAVA

GUIA DE ESTILO DE PROGRAMAÇÃO EM JAVA Introdução GUIA DE ESTILO DE PROGRAMAÇÃO EM JAVA Prof. F. Mário Martins DI/UM 2008-2009 Este documento tem por objectivo fundamental estabelecer um conjunto de normas, quase universais, sobre a melhor

Leia mais

TIPOS PARAMETRIZADOS CLASSES GENÉRICAS PARTE II

TIPOS PARAMETRIZADOS CLASSES GENÉRICAS PARTE II TIPOS PARAMETRIZADOS CLASSES GENÉRICAS PARTE II JAVA5 Tiger JAVA6 - Mustang ARQUITECTURAS DE SOFTWARE F. Mário Martins 2011 1 CRIAÇÃO DE CLASSES GENÉRICAS ARQUITECTURAS DE SOFTWARE F. Mário Martins 2011

Leia mais

4 Conceito de Herança

4 Conceito de Herança 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

ção a Objetos em Java

ção a Objetos em Java Uso de Orientaçã ção a Objetos em Java Objetos e Mensagens Objetos em Java Principais classes Containers Um pouco de história... Variáveis como elementos isolados int dia, mes, ano; Fácil compreensão,

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho [email protected] Programa Capítulo 7 Herança vs. Composição Interface Aplicação de Interface Exercício

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

Prova 2 PMR3201 1o. semestre 2015 Prof. Thiago Martins

Prova 2 PMR3201 1o. semestre 2015 Prof. Thiago Martins Prova PMR0 o semestre 0 Prof Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço ( pontos) Uma árvore binária de busca é uma árvore binária na qual para qualquer sub-árvore

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

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

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar

Leia mais

Lista encadeada class No { Coleções. Enumeration. Lista encadeada (continuação) Enumeration Exemplo usando a classe Lista anterior

Lista encadeada class No { Coleções. Enumeration. Lista encadeada (continuação) Enumeration Exemplo usando a classe Lista anterior Coleções Retirado do Tutorial Java class Lista { No inicio = null; Lista encadeada class No { void insereinicio(object obj) { No n = new No(obj, inicio); inicio = n; Object obj; No prox; No(Object obj,

Leia mais

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

Lista de Exercícios Nro. 1 Programação Orientada a Objetos - SCC204 Lista de Exercícios Nro. 1 Programação Orientada a Objetos - SCC204 Exercício 1: Descreva algumas diferenças básicas entre programação estruturada e programação orientada a objetos. Exercício 2: Para que

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia da Bahia Campus Irecê Disciplina: Linguagem Técnica II Prof o Jonatas Bastos

Instituto Federal de Educação, Ciência e Tecnologia da Bahia Campus Irecê Disciplina: Linguagem Técnica II Prof o Jonatas Bastos Instituto Federal de Educação, Ciência e Tecnologia da Bahia Campus Irecê Disciplina: Linguagem Técnica II Prof o Jonatas Bastos Nome: LISTA DE EXERCÍCIO 1 Collections Framework 1. Criem um projeto que

Leia mais

Generics - Java. Fernando Santos. Programação Orientada a Objetos

Generics - Java. Fernando Santos. Programação Orientada a Objetos - Java Fernando Santos Programação Orientada a Objetos Generics é uma funcionalidade incorporada ao Java a partir da versão 5.0 Permite aos programadores escreverem métodos genéricos Os parâmetros dos

Leia mais

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos) Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private

Leia mais

Simulado de Linguagem de Programação Java

Simulado de Linguagem de Programação Java Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as

Leia mais

A B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas

A B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas Herança e Polimorfismo Prof. Bruno Gomes [email protected] Programação Orientada a Objetos Revisando -Herança Estrutura Hierárquica e modular Projeção de classes genéricas que podem ser especializadas

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual

Leia mais

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; } Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

GENÉRICOS EM JAVA. Java Generics

GENÉRICOS EM JAVA. Java Generics GENÉRICOS EM JAVA Java Generics Ana Laura KOKETSU Faculdade Politécnica de Campinas Peter JANDL JR Faculdade de Jaguariúna Faculdade Politécnica de Campinas Resumo: Os tipos genéricos foi a mais sofisticada

Leia mais

ALOCAÇÃO DINÂMICA DE MEMÓRIA

ALOCAÇÃO DINÂMICA DE MEMÓRIA INE5408 Estruturas de Dados Semestre 2008/1 Prof. Leandro J. Komosinski ALOCAÇÃO DINÂMICA DE Memória de Computador 1 byte = 8 bits (ex.: 00100110) 1 KB = 1024 bytes 1 MB = 1024 KB 1 GB = 1024 MB Meu computador

Leia mais

Programação Orientada a Objetos. Collections - Java

Programação Orientada a Objetos. Collections - Java 1 Programação Orientada a Objetos Collections - Java Coleções Conceito Geral Uma coleção é uma estrutura de dados que permite armazenar vários objetos. Em Java, a coleção também é um objeto. As operações

Leia mais

AULA 6 - ARRAYS. Array de 10 elementos

AULA 6 - ARRAYS. Array de 10 elementos 1 AULA 6 - ARRAYS Arrays são objetos que armazenam diversas variáveis do mesmo tipo. Eles podem conter variáveis de referência primitivas ou de objeto, mas o array propriamente dito sempre será um objeto

Leia mais

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... } Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação

Leia mais

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Herança Aula de Hoje Problema Considere uma empresa que tenha tipos de empregados no aplicativo de folha de pagamento Um empregado tem nome,

Leia mais

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel) Herança capacidade de uma classe (subclasse) herdar, adquirir atributos e funcionalidades de outra classe (superclasse), podendo juntar algumas especificidades e/ou alterar outras. Existe uma relação tipo

Leia mais

Programação Orientada por Objectos 2010/11. 2º Exame 28 de Junho de 2011

Programação Orientada por Objectos 2010/11. 2º Exame 28 de Junho de 2011 Programação Orientada por Objectos 2010/11 2º Exame 28 de Junho de 2011 Instruções (leia com cuidado): Escreva de forma CLARA o seu nome e número em todas as folhas. O exame contém 8 páginas dividido em

Leia mais

Programação de Computadores I. Linguagem C Função

Programação de Computadores I. Linguagem C Função Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

Palavras Reservadas da Linguagem Java

Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de

Leia mais

Programação Orientada a Objetos SANTOS, Rafael (PLT)

Programação Orientada a Objetos SANTOS, Rafael (PLT) Programação Orientada a Objetos SANTOS, Rafael (PLT) Possibilita atribuições em sequência na mesma instrução Retorna o valor atribuído Atribuições compostas: incluem a própria variável: +=, *=, -=, etc

Leia mais

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

Sistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26 Sistemas de Objetos Distribuídos Revisão Java e Java ORBs Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosRevisão Java e

Leia mais

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

Herança. Prof. Fernando V. Paulovich  23 de agosto de 2010 Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade

Leia mais