BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2013/1

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

Download "BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2013/1"

Transcrição

1 BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2013/1

2 Avisos 2

3 3

4 Arquivos) 4

5 Introdução)ao)Java)Reflection) 5

6 Reflexão)é)a)capacidade)de)um)programa)examinar) (ou) introspectar ),)manipular)e)até)mesmo) modificar)sua)própria)estrutura) Em)tempo)de)execução.) Em)certas)situações,)a)necessidade)produção)de) código)pode)explodir) O)código)precisa)reagir)a)vários)cenários)diferentes) Reagir)corretamente)a)diferentes)contextos.) Plugabilidade.) 6

7 Normalmente,)para)garantir)a)plugabilidade)de)um) componente)de)software,)implementamos) interfaces)específicas)e)preparamos)um)mecanismo) de)acoplamento) No)entanto,)isto)pode)não)ser)suficiente)para)garantir)a) plugabilidade.) 7

8 Um)sistema)pode)adaptarMse)dinamicamente)a)diferentes) situações) Por)exemplo,)uma)classe)X)precisa)se)comunicar)com)um) determinado)serviço;) Agora,)a)mesma)classe)precisa)se)comunicar)com)o)mesmo) serviço)utilizando)a)classe)y Métodos)com)nomes)diferentes,)por)exemplo.) Normalmente,)teríamos)que)modificar)nosso)código) manualmente)e)recompilámlo) Usando)reflexão)isto)pode)ser)evitado;) A)aplicação)descobre)quais)são)os)métodos)da)classe)Y)e)os) invoca)dinamicamente;) Com)reflexão,)nem)sequer)o)nome)da)nova)classe)precisaria)ser) incluso)diretamente)no)código.) 8

9 Da)documentação)oficial:) A)reflexão)é)um)recurso)relativamente)avançado) e)deve)ser)utilizado)apenas)por)desenvolvedores) que)possuem)um)forte)embasamento)dos) fundamentos)da)linguagem.)com)esta) advertência)em)mente,)a)reflexão)é)uma)técnica) poderosa)e)pode)permitir)que)os)aplicativos) executem)operações)que)de)outra)forma)seriam) impossíveis.) ) 9

10 Extensibilidade Uma)aplicação)pode)fazer)uso))de)classes)de)terceiros,)externas,) através)da)criação)de)instâncias)de)objetos)de)extensibilidade) através)de)seus)nomes.) BrowsersdeClasseseAutoComplete. Um)browser)de)classes)precisa)listar)todos)os)membros)de)uma) classe;) Ferramentas)de)autocomplete)se)valem)das)informações)de)tipo) para)auxiliar)na)escrita)de)códigos.) DepuradoreseFerramentasdeTeste Depuradores)precisam)ter)a)habilidade)de)examinar)os) membros)privados)de)classes;) Ferramentas)de)teste)podem)fazer)o)uso)de)reflexão)para) sistematicamente)invocar)um)conjunto)de)apis)definidas)em) uma)classe,)de)forma)a)garantir)maior)cobertura)de)um)código) em)teste.)) 10

11 OverheaddePerformance A)reflexão)envolve)resolução)dinâmica)e)por)isto,)otimizações)da)JVM) não)podem)ser)realizadas;) Consequentemente,)a)performance)de)operações)que)usam)reflexão)é) mais)lenta)e)deve)ser)evitada)quando)o)desempenho)é)importante.) RestriçõesdeSegurança A)reflexão)requer)permissões)em)tempo)de)execução)que)podem)não) estar)presentes)quando)a)execução)se)dá)sob)um)gerente)de) segurança;) Esta)é)uma)consideração)importante)para)códigos)que)rodam)em) contextos)restritos)de)segurança,)como)applets.) ExposiçãodeDetalhesInternos A)reflexão)permite)a)escrita)de)códigos)que)seriam)ilegais)em)outros) contextos,)como)por)exemplo)a)listagem)de)membros)privados;) O)uso)desta)técnica)pode)destruir)a)portabilidade,))tornar)o)código) disfuncional)e)quebrar)a)abstração.) 11

12 Presente)no)Java)desde)a)versão)1.1,)o)recurso)de) reflexão)também)é)encontrada)em)outras)linguagens:) PHP;) Python;) Ruby;) ObjectiveMC;) ECMAScript.) A)reflexão)é)também)a)chave)para)a)metaprogramação A)criação)de)programas)que)escrevem)ou)manipulam)outros) programas)(ou)a)si)próprios))como)se)fossem)os)próprios)dados.) 12

13 O)exemplo)abaixo)ilustra)a)criação)de)uma)instância) da)classe)foo)e)a)invocação)do)método)hello.) //Sem reflection new Foo().hello(); //Com reflection Class<?> clazz = Class.forName("Foo"); clazz.getmethod("hello").invoke(clazz.newinstance());) 13

14 O)quê)pode)ser)feito)pelo)Reflection)API?) Obter)a)listagem)de)todos)os)métodos)de)uma)classe) (definidos)ou)herdados)) Tipo,)modificador)de)acesso,)parâmetros)(nomes)e)tipos),)etc.) Obter)informações)sobre)construtores;) Obter)informações)sobre)atributos)de)uma)classe;) Invocar)métodos)conhecidos)apenas)em)tempo)de) execução) Tratando)o)retorno)e)passando)os)argumentos)adequados.) Criar)objetos)de)classe)conhecidas)apenas)em)tempo) de)execução;) Alterar)atributos)destes)mesmos)objetos.) 14

15 As)classes)do)Reflection)estão)armazenadas)no)pacote) java.lang.reflect;) Para)utilizar)estas)classes)é)necessário:) Obter)um)objeto)da)classe)java.lang.Class;) Utilizada)para)representar)classes)e)interfaces)em)execução.)) Class c = Class.forName("java.lang.String"); Class c = int.class; Class c = Integer.TYPE; ) Invocar)um)método)getter)adequado;) Por)exemplo,)getMethodDeclarations().) A)partir)daí,)basta)usar)a)API)Reflection)para)manipular)as) informações.) 15

16 Classe java.lang.reflect.constructor) java.lang.reflect.field) java.lang.reflect.method) java.lang.reflect.modifier) Descrição Fornece)informações)sobre)os)construtores)da) classe.) Fornece)informações)sobre)os)atributos)da)classe.) Fornece)informações)sobre)os)métodos)da)classe.) Fornece)informações)sobre)os)modificadores)de) acesso)da)classe.) 16

17 17

18 import java.lang.reflect.*; public class ReflectionTeste { "public static void main(string args[]) { " try { " "Class c = Class.forName( "java.lang.string" ); " "Method m[] = c.getdeclaredmethods(); " "for (int i = 0; i < m.length; i++) { " "System.out.println( m[i].tostring() ); "} " } " catch (Throwable e) { " " "System.err.println(e); " } } } 18

19 Class cls = Class.forName("java.lang.String"); boolean b1 = cls.isinstance(new Integer(37)); System.out.println(b1); boolean b2 = cls.isinstance(new java.lang.string("teste")); System.out.println(b2);) 19

20 import java.lang.reflect.*; public class Classe1 { "private int funcao1( Object p, int x ) throws NullPointerException { " "if (p == null) " " "throw new NullPointerException(); return x; } public static void main(string args[]) { try { Class cls = Class.forName("Classe1"); Method methlist[] = cls.getdeclaredmethods(); for (int i = 0; i < methlist.length; i++) { "Method m = methlist[i]; "System.out.println("nome = " + m.getname()); "System.out.println("membro da classe = +m.getdeclaringclass()); "System.out.println("modificador = +Modifier.toString(m.getModifiers())); "Class pvec[] = m.getparametertypes();) 20

21 for (int j = 0; j < pvec.length; j++) System.out.println("parâmetro #"+j+" "+pvec[j]); Class evec[] = m.getexceptiontypes(); for (int j = 0; j < evec.length; j++) " System.out.println("exceção #" + j + " " + evec[j]); " System.out.println("tipo de retorno = +m.getreturntype()); " System.out.println("-----"); } } catch (Throwable e) { "System.err.println(e); } } }) 21

22 import java.lang.reflect.*; public class Constructor1 { public Constructor1() { } protected Constructor1(int i, double d) { } public static void main(string args[]) { try { "Class cls = Class.forName("constructor1"); "Constructor ctorlist[] = cls.getdeclaredconstructors(); "for (int i = 0; i < ctorlist.length; i++) { " Constructor ct = ctorlist[i]; " System.out.println("nome = " + ct.getname()); " System.out.println("membro da classe = " + ct.getdeclaringclass()); " Class pvec[] = ct.getparametertypes(); " for (int j = 0; j < pvec.length; j++) " System.out.println("parâmetro #" + j + " " + pvec[j]); " Class evec[] = ct.getexceptiontypes(); " for (int j = 0; j < evec.length; j++) " System.out.println("exceção #" + j + " " + evec[j]); "} } catch (Throwable e) { "System.err.println(e); } } }) 22

23 import java.lang.reflect.*; public class TesteAtributos { private double d; public static final int i = 37; String s = "testing"; public static void main(string args[]) { try { "Class cls = Class.forName("TesteAtributos"); "Field fieldlist[] = cls.getdeclaredfields(); "for (int i = 0; i < fieldlist.length; i++) { " Field fld = fieldlist[i]; " System.out.println("nome atributo = " + fld.getname()); System.out.println("membro da classe = " + fld.getdeclaringclass()); " System.out.println("tipo = " + fld.gettype()); " int mod = fld.getmodifiers(); " System.out.println("modificadores = " + Modifier.toString(mod)); "} } catch (Throwable e) { "System.err.println(e); } } }) 23

24 import java.lang.reflect.*; public class InvocaMetodo { public int ummetodo(int a, int b) { "return a + b; } public static void main(string args[]) { try { "Class partypes[] = new Class[2]; "partypes[0] = Integer.TYPE; "partypes[1] = Integer.TYPE; "Class cls = Class.forName("InvocaMetodo"); "Method meth = cls.getmethod("ummetodo", partypes); "Object arglist[] = new Object[2]; "arglist[0] = new Integer(37); "arglist[1] = new Integer(47); "InvocaMetodo methobj = new InvocaMetodo(); "Object retobj = meth.invoke(methobj, arglist); "Integer retval = (Integer)retobj; "System.out.println(retval.intValue()); } catch (Throwable e) { "System.err.println(e); } } }) 24

25 import java.lang.reflect.*; public class TesteConstrutor { public TesteConstrutor() { } public TesteConstrutor(int a, int b) { "System.out.println("a = " + a + " b = " + b); } public static void main(string args[]) { try { "Class cls = Class.forName("TesteConstrutor"); "Class partypes[] = new Class[2]; "partypes[0] = Integer.TYPE; "partypes[1] = Integer.TYPE; "Constructor ct = cls.getconstructor(partypes); "Object arglist[] = new Object[2]; "arglist[0] = new Integer(37); "arglist[1] = new Integer(47); "Object retobj = ct.newinstance(arglist); } catch (Throwable e) { "System.err.println(e); } } }) 25

26 import java.lang.reflect.*; public class AlteraValorCampo { "public double d; "public static void main(string args[]) { " "try { " " "Class cls = Class.forName("AlteraValorCampo"); " " "Field fld = cls.getfield("d"); " " "AlteraValorCampo f2obj = new AlteraValorCampo(); " " "System.out.println("d = " + f2obj.d); " " "fld.setdouble(f2obj, 12.34); " " "System.out.println("d = " + f2obj.d); " "} " "catch (Throwable e) { " " "System.err.println(e); " "} "} }) 26

27 Class cls = Class.forName("java.lang.String"); Object arr = Array.newInstance(cls, 10); Array.set(arr, 5, "Isto é um teste"); String s = (String)Array.get(arr, 5); System.out.println(s);) 27

28 Vantagens Padronização;) Ganho)de)produtividade;) Minimização)de)erros;) Facilidade)de)Manutenção.) Desvantagens Redução)de)desempenho;) Problemas)por)restrição)de)segurança;) Exposição)da)estrutura)interna)dos)objetos.) 28

29 A)API)Reflection)é)especialmente)útil)porque)permite)a) obtenção)de)informações)sobre)classes)a)partir)do)próprio) nome) Permite)ainda)a)manipulação)destas)informações)em)tempo)de) execução.) Esta)característica)da)linguagem)Java)é)extremamente) poderosa) Não)há)equivalente)em)outras)linguagens,)como)C)ou)C++.) Mais)sobre)o)assunto)em) 29

30 Os)exemplos)desta)aula)foram)retirados)do) site)guj.com.br. )) Disponível)em)) 30

31 Perguntas? 31

32 Prova) Demonstração)do)TP) 32

33 FIM 33

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

MsC. João Maria MsC. Liviane Melo

MsC. João Maria MsC. Liviane Melo Disciplina: Programação Orientada à Objetos AULA 02 Corpo docente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio Procópio Esp. Felipe Dantas MsC. João Maria MsC. Liviane Melo 2 Tipo Tamanho Alcance

Leia mais

Introdução à reflexão em Java

Introdução à reflexão em Java Introdução à reflexão em Java 1 O que é a reflexão? Reflexão, o que é? Disponibilização, via API, de informação de tipo (metadata) em tempo de execução. Em Java esta API é composta pelas classes do package

Leia mais

API JAVA PARA A PERSISTÊNCIA E CRIPTOGRAFIA DE ARQUIVOS DE CONFIGURAÇÃO XML E PROPERTIES

API JAVA PARA A PERSISTÊNCIA E CRIPTOGRAFIA DE ARQUIVOS DE CONFIGURAÇÃO XML E PROPERTIES UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE INFORMÁTICA CURSO DE ESPECIALIZAÇÃO EM TECNOLOGIA JAVA RICARDO VASSELAI PAULINO API JAVA PARA A PERSISTÊNCIA E CRIPTOGRAFIA DE ARQUIVOS

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

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

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa

Leia mais

Programação de Computadores II TCC /Turma A 1

Programação de Computadores II TCC /Turma A 1 Programação de Computadores II TCC 00.174/Turma A 1 Professor Leandro A. F. Fernandes http://www.ic.uff.br/~laffernandes Conteúdo: Tratamento de exceções Material elaborado pelos profs. Anselmo Montenegro

Leia mais

Atributos e Métodos Estáticos

Atributos e Métodos Estáticos Atributos e Métodos Estáticos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Atributos Estáticos Atributos

Leia mais

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio)

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio) Tratamento de Exceção Programação Orientada a Objetos Java (Rone Ilídio) Tratamento de exceção Exceção é uma contração de Evento de Exceção Evento de exceção impede a execução normal de um programa Quando

Leia mais

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa é transferido

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II TCC- 00.174 Profs.: Leandro A. F. Fernandes (A1) & Marcos Lage (B1) & Isabel RosseJ (C1) (Turma A1) www.ic.uff.br/~laffernandes (Turma B1) www.ic.uff.br/~mlage (Turma C1)

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

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção.

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. 6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável - O controlo da execução do programa

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 Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos

Leia mais

Programação Estruturada e Orientada a Objetos

Programação Estruturada e Orientada a Objetos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes. JAVA ENCAPSULAMENTO Na linguagem de programação Java, a classe é o alicerce para o encapsulamento, o qual é definido como uma técnica que faz com que os atributos da classe permaneçam ocultos, pois desta

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

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

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 Professor: Fernando Maia da Mota Orientações Básicas Leia atentamente as instruções para cada questão. A prova deverá ser feita a lápis ou caneta (preta ou azul) em uma folha de rascunho que será fornecida

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 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

Exceções. Criando suas exceções

Exceções. Criando suas exceções Exceções Criando suas exceções Tratamento de Exceções O tratamento de exceções em Java permite o gerenciamento de erros em tempo de execução. Uma exceção em Java é um objeto que descreve uma condição de

Leia mais

Encapsulamento de Dados

Encapsulamento de Dados Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução Exceções São eventos que

Leia mais

insfcanceof new public switch transient while byte continue extends for int null

insfcanceof new public switch transient while byte continue extends for int null Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public

Leia mais

Atribuições: Valores, Ponteiros e Referências

Atribuições: Valores, Ponteiros e Referências Atribuições: Valores, Ponteiros e Referências Estruturas de Dados Prof. Vilson Heck Junior Sobre Variáveis Aprendemos, em introdução à programação, que possuem 3 partes mais importantes: Nome; Tipo de

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Implementação do analisador de logs do Servidor Web com base nos requisitos da unidade curricular de Estatística, de acordo com o roteiro abaixo: Recuperar o conteúdo do

Leia mais

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos; Fundação CECIERJ - Vice Presidência de Educação Superior a Distância Curso de Tecnologia em Sistemas de Computação Disciplina: Programação Orientada a Objetos AP2 2 semestre de 2016. Nome Assinatura Observações:

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

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

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça Introdução Universidade Federal de Uberlândia Programação Orientada a Objetos Prof. Fabiano Dorça Introdução Definições iniciais: classe, objeto, métodos, atributos. Introdução Ao escrever um programa

Leia mais

Herança; Sobrescrita, Sobrecarga e Polimorfismo; Classes abstratas e concretas (finais).

Herança; Sobrescrita, Sobrecarga e Polimorfismo; Classes abstratas e concretas (finais). Disciplina: Programação Orientada à Objetos AULA 08 Herança; Sobrescrita, Sobrecarga e Polimorfismo; Classes abstratas e concretas (finais). Corpo docente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio

Leia mais

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

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this. Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso

Leia mais

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){ UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------

Leia mais

Exceções. Profa. Patrícia A. Jaques Slides alterados por Leandro Tonietto Mar-12. quarta-feira, 21 de março de 12

Exceções. Profa. Patrícia A. Jaques Slides alterados por Leandro Tonietto Mar-12. quarta-feira, 21 de março de 12 Exceções Profa. Patrícia A. Jaques Slides alterados por Leandro Tonietto Mar-12 Tratamento de Exceções O tratamento de exceções em Java permite o gerenciamento de erros em tempo de execução. Uma exceção

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

PROGRAMAÇÃO JAVA. Parte 3

PROGRAMAÇÃO JAVA. Parte 3 PROGRAMAÇÃO JAVA Parte 3 O PRIMEIRO PROGRAMA O Java executa uma instrução a seguir a outra, pela ordem em que estão escritas. Essa sequência poderá ser contrariada de forma especial: Alternativas: Ciclos

Leia mais

Tratamento de Exceções. Prof. Marcelo Roberto Zorzan

Tratamento de Exceções. Prof. Marcelo Roberto Zorzan Tratamento de Exceções Prof. Marcelo Roberto Zorzan Tratamento de Exceções Aula de Hoje Problema 1 Desenvolva uma aplicação Java que receba como entrada dois valores numéricos, calcule a divisão entre

Leia mais

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

Programação Orientada por Objectos 2007/2008

Programação Orientada por Objectos 2007/2008 Programação Orientada por Objectos 2007/2008 Segundo Teste, 30/6/2008, Duração 1h30 (20 valores) 1 [2v] Considere que pretende desenvolver uma função num jogo que trata uma colisão entre dois objectos

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos luno: ata: Professor: Leonardo abral da Rocha Soares 1. Torna o atributo visível a todas as classes do pacote onde foi declarado: a) public b) private c) protected d) package

Leia mais

package especificadores1; public class Alpha { public static void alphapublic(){ System.out.println("Alpha public!"); }

package especificadores1; public class Alpha { public static void alphapublic(){ System.out.println(Alpha public!); } package especificadores1; public class Alpha { public static void alphapublic(){ System.out.println("Alpha public!"); protected static void alphaprotected(){ System.out.println("Alpha protected!"); static

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos luno: ata: Professor: Leonardo abral da Rocha Soares 1.ado o seguinte código: class valiacao { Qual fragmento de código irá compilar? a) class Prova extends valiacao { b)

Leia mais

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou

Leia mais

Arrays em Java. Introdução à Programação. Bruno Cartaxo

Arrays em Java. Introdução à Programação. Bruno Cartaxo Arrays em Java Introdução à Programação Bruno Cartaxo http://sites.google.com/site/brunocartaxo bruno.cartaxo@olinda.ifpe.edu.br Tópicos a serem discutidos na disciplina Introdução a computadores e algoritmos

Leia mais

Classes, Superclasses e Subclasses

Classes, Superclasses e Subclasses Herança Herança A idéia é criar novas Classes construindo-as sobre outras existentes Ao herdar de uma classe, reusamos (herdamos) seus métodos E podemos adicionar novos métodos e campos para adaptar a

Leia mais

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 14 Prof. ISVega Maio de 2004 Mecanismo de Exceções em Java CONTEÚDO 14.1Erros,

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

Programação Java. Tratamento de Exceções

Programação Java. Tratamento de Exceções Programação Java Tratamento de Exceções Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Motivações para Exceções Um método pode detectar uma falha mas não estar apto a resolver sua

Leia mais

Prof. Rogério Rocha 1

Prof. Rogério Rocha  1 Uma estrutura de dados é um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente. Diferentes tipos de estrutura de dados são adequados a

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Modificadores de Acesso: public e private Prof. Tulio Alberton Ribeiro Instituto Federal de Santa Catarina IFSC campus São José tulio.alberton@ifsc.edu.br 31 de julho de

Leia mais

Herança. Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman SISTEMAS DE INFORMAÇÃO 1

Herança. Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman SISTEMAS DE INFORMAÇÃO 1 Herança Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman 1 1 1 Motivação Você está desenvolvendo um sistema de gerenciamento de pessoal para a USP Precisa fazer: Cadastro de alunos e professores

Leia mais

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo

Leia mais

Tratamento de Exceção. Tratamento de Exceções. Vantagens de TE. Exemplos de Exceções. Exemplo: Divide1 (sem TE)

Tratamento de Exceção. Tratamento de Exceções. Vantagens de TE. Exemplos de Exceções. Exemplo: Divide1 (sem TE) DCC / ICEx / UFMG Tratamento de Exceção Tratamento de Exceções Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Uma exceção é uma indicação de problema na execução do programa Exceção foge ao fluxo

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

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

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para

Leia mais

Tratamento de Exceções. Grupo de Linguagens de Programação Departamento de Informática PUC-Rio

Tratamento de Exceções. Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Tratamento de Exceções Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Terminologia Definições: Exceção é a ocorrência de uma condição anormal durante a execução de um método Falha

Leia mais

Input / Output na linguagem java. Para isso usamos um dos construtores da classe java.io.file:

Input / Output na linguagem java. Para isso usamos um dos construtores da classe java.io.file: Input e Output 1 A classe File Input / Output na linguagem java Antes de podermos ler/escrever de/para um ficheiro temos que criar um objecto do tipo File e associar esse objecto ao ficheiro a que queremos

Leia mais

1) Responda de acordo com os conceitos de orientação a objetos (0,5).

1) Responda de acordo com os conceitos de orientação a objetos (0,5). Avalição II (Teórica) 22/06/2017 Disciplina Linguagem de Programação II Prof. Wagner, dos Santos C. de Jesus Curso Engenharia da Computação Questões Solução da Avaliação 1) Responda de acordo com os conceitos

Leia mais

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

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 paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade

Leia mais

Código-Fonte da Prática 02

Código-Fonte da Prática 02 Código-Fonte da Prática 02 Sumário Classe ConexaoDB... 2 Classe PropriedadesBD... 5 Arquivo conexao.properties... 6 Programação Comercial Walderson Shimokawa 1 Classe ConexaoDB package br.edu.univag.util.sql;

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 05 Padrões GoF (Singleton e Iterator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype

Leia mais

Sistema Futebol - Java

Sistema Futebol - Java Sistema Futebol - Java ARTEFATO 01 Indice 1. CLASSE PESSOA... 2 2. CLASSE JOGADOR... 3 3. CLASSE TECNICO... 5 4. CLASSE SISTEMAFUTEBOL... 6 5. CLASSE SISTEMAFUTEBOLMAIN... 10 6. EXERCÍCIOS... 10 AT01 Sistema

Leia mais

Módulo 03. Identificadores, Palavras Reservadas, e Tipos

Módulo 03. Identificadores, Palavras Reservadas, e Tipos Módulo 03 Identificadores, Palavras Reservadas, e Tipos Objetivos Utilizar comentários em um programa. Distinguir entre identificadores válidos e não-válidos. Reconhecer palavras-reservadas da tecnologia

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA

Leia mais

Laboratório de Programação. Aula 12 Java 5COP088. Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

Laboratório de Programação. Aula 12 Java 5COP088. Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr 5COP088 Laboratório de Programação Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior 1 Sumário: 1) Manipulação de Exceções; 1) Try e Catch 2) Finally 3) Propagação (Throw e Throws) 2) Erros e Exceções Comuns;

Leia mais

1. Estude e implemente a classe Exemplo1 apresentada abaixo:

1. Estude e implemente a classe Exemplo1 apresentada abaixo: P. Fazendeiro & P. Prata POO FP09/1 Exceções Uma exceção (Exception) é um sinal gerado pela máquina virtual de Java em tempo de execução indicando uma situação de erro da qual é possível recuperar. O objectivo

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

Load-Time Structural Reflection in Java

Load-Time Structural Reflection in Java Load-Time Structural Reflection in Java Stefan Neusatz Guilhen Java provê uma API para reflexão, que é quase toda voltada para introspecção. As possibilidades para se alterar o comportamento de um programa

Leia mais

APIs Java: Tratamento de exceções e Coleções

APIs Java: Tratamento de exceções e Coleções APIs Java: Tratamento de exceções e Coleções POO29004 Engenharia de Telecomunicações Prof. Emerson Ribeiro de Mello http://docente.ifsc.edu.br/mello/poo 16 DE ABRIL DE 2019 Tratamento de Exceções Um simples

Leia mais

Vector Java. Empregado.java

Vector Java. Empregado.java Vector Java Empregado.java /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools Templates * and open the template in the editor.

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

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

A Relação de Subtipo e Tipos Genéricos

A Relação de Subtipo e Tipos Genéricos O tipo List representa as listas que declaram ter elementos do tipo Object O tipo que representa as listas que declaram ter elementos de um tipo qualquer é List Este tipo é definido à custa

Leia mais

Linguagem de programação Java

Linguagem de programação Java Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Java Professor: Saulo Henrique Cabral Silva ENTENDENDO O JAVA 2 Entendendo o Java executando... A instância da JVM irá iniciar

Leia mais

Luz, C Âmera, Ação! Introdução ao Java Cont.

Luz, C Âmera, Ação! Introdução ao Java Cont. Luz, C Âmera, Ação! Introdução ao Java Cont. CamelCase É a denominação em inglês para a prática de escrever palavras compostas ou frases, onde cada palavra é iniciada com Maiúsculas e unidas sem espaços.

Leia mais

Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística.

Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística. Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística. package ProjetoIntegrador; import java.io.bufferedreader; import

Leia mais

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans Objetivos da aula: Introduzir conceitos da linguagem Java Apresentar um histórico da linguagem Apresentar

Leia mais

Programação Orientada a Objetos. Polimorfismo

Programação Orientada a Objetos. Polimorfismo Programação Orientada a Objetos Polimorfismo Cristiano Lehrer, M.Sc. Introdução (1/3) Polimorfismo significa ter muitas formas. Em termos de programação, muitas formas significa que um único nome pode

Leia mais

Tabelas de Dispersão. Estrutura de Dados e Algoritmos

Tabelas de Dispersão. Estrutura de Dados e Algoritmos Tabelas de Dispersão Tabelas de Dispersão Sumário Definição. Características. Resolução de colisões: dispersão com listas e dispersão aberta. Teste quadrático. Desempenho de tabelas de dispersão. Interface

Leia mais

Especialização em Engenharia de Software

Especialização em Engenharia de Software Especialização em Engenharia de Software Programação Orientada a Objetos Conceitos gerais e array Sérgio Soares scbs@cin.ufpe.br Programação Orientada a Objetos Foco nos dados (objetos) do sistema, não

Leia mais

Vetores Unimensionais

Vetores Unimensionais Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um

Leia mais

Tratamento de Exceções em Java

Tratamento de Exceções em Java Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Tratamento de Exceções em Java Professor: César Melo Slides baseados em materiais preparados pela Profa.

Leia mais

Orientação a Objetos e Java

Orientação a Objetos e Java Orientação a Objetos e Java Daves Martins davesmartins@yahoo.com.br Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Programação com Tipos Genéricos www.comp.ita.br/~pauloac/ces22/ Tipos Genéricos Sumário A necessidade dos Genéricos Métodos Genéricos Classes Genéricas Utilização de wildcards

Leia mais

Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III

Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III Programação Orientada a Objetos Alexandre César Muniz de Oliveira Métodos e Atributos Parte III Métodos [mod] tipo nome ([tipo arg]) [throws exc]{ [mod]: zero ou mais modificadores separados por espaços

Leia mais

Design Patterns (Factory Method, Prototype, Singleton)

Design Patterns (Factory Method, Prototype, Singleton) DesignPatterns (FactoryMethod,Prototype,Singleton) JoãoAntónioPaz LuísMiguelClaro AlbertoManuelGomes N.º12812 N.º12817 N.º12818 FACTORYMETHOD Padrãoquedefineumainterfaceparacriaçãodeobjectos,masdeixaassubclassesdecidirque

Leia mais

TrabalhadorEstudante te(123, Ana, Faro, feminino, 100.0, 22); Estudante e=te; //ok Estudante *pe = &te; //ok Estudante &se = te; //ok

TrabalhadorEstudante te(123, Ana, Faro, feminino, 100.0, 22); Estudante e=te; //ok Estudante *pe = &te; //ok Estudante &se = te; //ok $ % & ' ( ) * * * +, -. / 0 1 2 / 1 34 5 637 38 9 1 / 4 : 3/ 0 9 0 ; < 39 1 = / 7 69 1 1 / 1 >?@ A?@ B o / 4 + C C D E < - F 2 / 1. 30 8 < 9 3 1 G = / 18< 3 =, 0 / 1. 30 8 < 9 3 1 G H = / - 8 3 I 37 9

Leia mais

Tipos de dados e comandos POO

Tipos de dados e comandos POO Tipos de dados e comandos POO Prof. Marcio Delamaro 1/46 Objetivo Vamos ver quais são os tipo de dados primitivos da linguagem Vamos ver quais são os principais comandos 2/46 Tipos Tipo Tamanho int 4 bytes

Leia mais

System.out.print("e"); O programa acima irá imprimir: "b". O programa acima irá imprimir: "bd". O programa acima irá imprimir: "e".

System.out.print(e); O programa acima irá imprimir: b. O programa acima irá imprimir: bd. O programa acima irá imprimir: e. Pergunta 1 Considere o programa a seguir. class SeQuestao1 { int num = 567; if(num % 2 == 0) { System.out.print("a"); else if(num % 3 == 0) { System.out.print("b"); else if(num % 5 == 0) { System.out.print("c");

Leia mais

Classes e objectos em Java (introdução) PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Classes e objectos em Java (introdução) PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Classes e objectos em Java (introdução) PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Resumo Uso de classes e objectos em Java classes e objectos código cliente

Leia mais