6 Polimorfismo. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza
|
|
- Edson Terra Prado
- 6 Há anos
- Visualizações:
Transcrição
1 Desenvolvimento OO com Java 6 Polimorfismo Vítor E. Silva Souza (vitorsouza@inf.ufes.br) ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Este obra foi licenciada sob uma Licença Creative Commons Atribuição 3.0 Não Adaptada.
2 Obje%vos da parte 6 Entrar em detalhes no conceito de polimorfismo, muito importante para a orientação a objetos: Hierarquias polimórficas; Classes e métodos abstratos; Polimorfismo com java.lang.object. Desta forma: Aumentar ainda mais a capacidade de abstração para construção de sojwares mais modulares e reu%lizáveis. Maio 2013 O Paradigma Orientado a Objetos 2
3 Polimorfismo Do grego poli + morphos = múl%plas formas; Caracterís%ca OO na qual se admite tratamento idên%co para objetos diferentes baseado em relações de semelhança; Em outras palavras, onde uma classe base é esperada, aceita- se qualquer uma de suas subclasses. Maio 2013 O Paradigma Orientado a Objetos 3
4 Relembrando o exemplo da parte 5 class Forma { public void desenhar() { System.out.println("Forma"); class Circulo extends Forma { public void desenhar() { System.out.println("Círculo"); class Quadrado extends Forma { /*... */ class Triangulo extends Forma { /*... */ Maio 2013 O Paradigma Orientado a Objetos 4
5 Relembrando o exemplo da parte 5 public class Teste { private static void desenha(forma[] fs) { for (int i = 0; i < fs.length; i++) fs[i].desenhar(); public static void main(string[] args) { Forma[] formas = new Forma[] { new Circulo(), new Forma(), new Quadrado(), new Triangulo() ; desenha(formas); Maio 2013 O Paradigma Orientado a Objetos 5
6 Relembrando o exemplo da parte 5 Ampliação (upcas&ng) é a conversão implícita de uma subclasse para uma superclasse: class Teste { public static void inverter(forma f) { System.out.println("Inverte " + f); public static void main(string[] args) { Circulo c = new Circulo(); inverter(c); // Upcasting! Forma f = new Quadrado(); // Upcasting! Maio 2013 O Paradigma Orientado a Objetos 6
7 Incrementando o exemplo O compilador realmente não sabe qual é o %po. Veja um exemplo com geração aleatória: public static void main(string[] args) { Forma f = null; switch((int)(math.random() * 3)) { case 0: f = new Circulo(); case 1: f = new Quadrado(); case 2: f = new Triangulo(); default: f = new Forma(); f.desenhar(); Maio 2013 O Paradigma Orientado a Objetos 7
8 Esquecendo o %po do objeto Quando realizamos ampliação, esquecemos o %po de um objeto: Forma f = new Quadrado(); Não sabemos mais qual é a classe específica de f. Sabemos apenas que ele é uma forma; Por que fazer isso? Maio 2013 O Paradigma Orientado a Objetos 8
9 Métodos mais gerais Fazemos ampliação para escrevermos métodos mais gerais, para poupar tempo e esforço: class Teste { public void inverter(circulo f) { System.out.println("Inverte " + f); public void inverter(quadrado f) { System.out.println("Inverte " + f); public void inverter(triangulo f) { System.out.println("Inverte " + f); Maio 2013 O Paradigma Orientado a Objetos 9
10 Amarração No entanto, se trabalhamos com Forma, como saber qual implementação executar quando chamamos um método? public class Teste { private static void desenha(forma[] fs) { for (int i = 0; i < fs.length; i++) fs[i].desenhar(); fs[i] é do tipo Forma. Chamar sempre Forma.desenhar()? Maio 2013 O Paradigma Orientado a Objetos 10
11 Amarração tardia Em linguagens estruturadas, os compiladores realizam amarração em tempo de compilação; Em linguagens OO com polimorfismo, não temos como saber o %po real do objeto em tempo de compilação; A amarração é feita em tempo de execução, também conhecida como: Amarração tardia; Amarração dinâmica; ou Late binding. Maio 2013 O Paradigma Orientado a Objetos 11
12 Amarração tardia Maio 2013 O Paradigma Orientado a Objetos 12
13 Quando usar Amarração dinâmica é menos eficiente; No entanto, ela que permite o polimorfismo; Java usa sempre amarração dinâmica; A exceção: se um método é final, Java usa amarração está%ca (pois ele não pode ser sobrescrito); Você não pode escolher quando usar um ou outro. É importante apenas entender o que acontece. Maio 2013 O Paradigma Orientado a Objetos 13
14 Benercios do polimorfismo Extensibilidade: Podemos adicionar novas classes sem alterar o método polimórfico. class Retangulo extends Forma { public void desenhar() { System.out.println("Retangulo"); class Quadrado extends Retangulo { public void desenhar() { System.out.println("Quadrado"); Maio 2013 O Paradigma Orientado a Objetos 14
15 Benercios do polimorfismo class Reta extends Forma { public void desenhar() { System.out.println("Reta"); public class Teste { public void inverter(forma f) { System.out.println("Inverte " + f); public static void main(string[] args) { Forma f = new Reta(); f.desenhar(); inverter(f); Maio 2013 O Paradigma Orientado a Objetos 15
16 Benercios do polimorfismo A interface de todos é definida pela classe base; Novas classes possuem a mesma interface, portanto o sistema já sabe lidar com elas; Mesmo que todas as classes já existam de princípio, poupa- se tempo e esforço, codificando um método único para todas. Maio 2013 O Paradigma Orientado a Objetos 16
17 Sobrescrita vs. sobrecarga Cuidado para não confundir: class Forma { public void aumentar(int t) { System.out.println("Forma.aumentar()"); class Linha extends Forma { // Foi feita sobregarga e não sobrescrita! public void aumentar(double t) { System.out.println("Linha.aumentar()"); Maio 2013 O Paradigma Orientado a Objetos 17
18 Sobrescrita vs. sobrecarga A confusão gera um erro muito dircil de descobrir: public class Teste { private static void aumentar(forma f) { f.aumentar(10); public static void main(string[] args) { Linha l = new Linha(); aumentar(l); // Forma.aumentar() Maio 2013 O Paradigma Orientado a Objetos 18
19 Classes e métodos abstratos Algumas vezes classes no topo da hierarquia são muito gerais: O que é uma forma? Como se desenha uma forma? Como se aumenta uma forma? Tais operações não fazem sen%do. Queremos apenas definir que elas existam, mas não implementá- las; A solução: métodos abstratos. Maio 2013 O Paradigma Orientado a Objetos 19
20 Classes e métodos abstratos Uma classe que possui métodos abstratos deve ser declarada como abstrata: abstract class Forma { public abstract void desenhar(); class Circulo extends Forma { public void desenhar() { System.out.println("Círculo"); Maio 2013 O Paradigma Orientado a Objetos 20
21 Classes abstratas Não permitem criação de instâncias (objetos): Um método abstrato não possui implementação, portanto não pode ser chamado; Podemos ter classes abstratas sem métodos abstratos, mas não o contrário. Para ser ú%l, deve ser estendida: Suas subclasses devem implementar o método ou declararem- se como abstratas. Servem para definir interfaces e prover algumas implementações comuns. Maio 2013 O Paradigma Orientado a Objetos 21
22 Classes e métodos abstratos Algumas regras: Métodos está%cos não podem ser abstratos; Construtores não podem ser abstratos; Classes abstratas podem ter construtores (lembre- se que são chamados pelas subclasses!); Métodos abstratos não podem ser privados. Maio 2013 O Paradigma Orientado a Objetos 22
23 Classes e métodos abstratos // Classe abstrata pura. abstract class Forma { public abstract void desenhar(); public abstract void aumentar(int t); // Classe abstrata. abstract class Poligono extends Forma { private int lados; public Poligono(int lados) { this.lados = lados; public int getlados() { return lados; public abstract void pintar(int cor); Maio 2013 O Paradigma Orientado a Objetos 23
24 Classes e métodos abstratos // Classe concreta. class Retangulo extends Poligono { public Retangulo() { super(4); public void desenhar() { System.out.println("Retangulo.desenhar"); public void aumentar(int t) { System.out.println("Retangulo.aumentar"); public void pintar(int cor) { System.out.println("Retangulo.pintar"); Maio 2013 O Paradigma Orientado a Objetos 24
25 Polimorfismo com java.lang.object Relembrando a interface comum a todas as classes escritas em Java: clone(): cria uma cópia do objeto (uso avançado); equals(object o): verifica se objetos são iguais; finalize(): chamado pelo GC (não é garan%a); getclass(): retorna a classe do objeto; hashcode(): função hash; notify(), notifyall() e wait(): para uso com threads; tostring(): converte o objeto para uma representação como String. Maio 2013 O Paradigma Orientado a Objetos 25
26 O método equals() Compara dois objetos. Retorna true se forem iguais, false se não forem; Permitem polimorfismo em grande escala: Podemos criar uma classe conjunto que armazena objetos de qualquer classe, desde que sejam objetos diferentes; Podemos implementar um método que permite dizer se um objeto está no conjunto, se um conjunto está con%do em outro, etc. Maio 2013 O Paradigma Orientado a Objetos 26
27 O método equals() class Valor { int i; public Valor(int i) { this.i = i; public class Teste { public static void main(string[] args) { Integer m = new Integer(100); Integer n = new Integer(100); System.out.println(m == n); // false System.out.println(m.equals(n)); // true Valor v = new Valor(100); Valor u = new Valor(100); System.out.println(v.equals(u)); // false Maio 2013 O Paradigma Orientado a Objetos 27
28 O método equals() class Valor { int i; public Valor(int i) { this.i = i; public boolean equals(object o) { return (o instanceof Valor) && (((Valor)o).i == i); public class Teste { public static void main(string[] args) { Valor v = new Valor(100); Valor u = new Valor(100); System.out.println(v.equals(u)); // true Maio 2013 O Paradigma Orientado a Objetos 28
29 O método tostring() Retorna uma representação em String do objeto em questão; Permite polimorfismo em grande escala: Se quisermos imprimir um objeto de qualquer classe, ele será chamado; Se quisermos concatenar um objeto de qualquer classe com uma String, ele será chamado. Maio 2013 O Paradigma Orientado a Objetos 29
30 O método tostring() class Valor { int i; public Valor(int i) { this.i = i; public class Teste { public static void main(string[] args) { Integer m = new Integer(100); System.out.println(m); // 100 Valor v = new Valor(100); System.out.println(v); // Valor@82ba41 Maio 2013 O Paradigma Orientado a Objetos 30
31 O método tostring() class Valor { int i; public Valor(int i) { this.i = i; public String tostring() { return "" + i; public class Teste { public static void main(string[] args) { Integer m = new Integer(100); System.out.println(m); // 100 Valor v = new Valor(100); System.out.println(v); // 100 Maio 2013 O Paradigma Orientado a Objetos 31
32 Conclusões O polimorfismo permite a criação de métodos mais gerais, graças à amarração tardia; Hierarquias polimórficas são mais extensíveis; Classes e métodos abstratos auxiliam na criação de modelos mais precisos; A classe Object, ancestral de todas as classes Java, promove polimorfismo em grande escala com seus métodos. Maio 2013 O Paradigma Orientado a Objetos 32
33 h"p://nemo.inf.ufes.br/ Maio 2013 O Paradigma Orientado a Objetos 33
Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:
Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos
Leia maisCapítulo 5 Reuso de Classes
Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Desenvolvimento Orientado a Objetos com Java Capítulo 5 Reuso de Classes
Leia maisJava na Prática. Célio Silva Aula 3
Java na Prática Célio Silva Aula 3 Java na Prática Collections List List são listas de coisa ordenadas/não ordenadas, com duplicações permitidas e com um índice Servem para encapsular código de tratamento
Leia maisAula 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 maisIntrodução à orientação a objetos
Universidade Federal de Juiz de Fora PET Elétrica Introdução à orientação a objetos Tutor: Francisco José Gomes Aluno: João Tito Almeida Vianna 18/05/2013 1 Programação Estruturada x Orientação a objetos
Leia mais7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.
Desenvolvimento OO com Java 7 RTTI e Interfaces Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do
Leia maisDesenvolvimento Web TCC-00.226 Turma A-1
Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Orientação a Objetos Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Leia maisJava 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 maisSimulado 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 maiswww.cotiinformatica.com.br
Criar um projeto ->. Criar no pacote entity a classe Usuario com os atributos(idusuario, nomeusuario, login, senha). Implementar a interface Comparable. Criar construtor vazio, o construtor cheio, o tostring
Leia maisAnálise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé
Análise e Projeto Orientado a Objetos Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé O que veremos hoje? Análise e Projeto Definição Comparação Análise e Projeto OO Definição
Leia mais8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.
Desenvolvimento OO com Java 8 Classes Internas Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do
Leia maisProgramação Orientada a Objetos em Java. Herança
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Herança Professor: César Melo Slides baseados em materiais preparados
Leia maisTécnicas de Programação II
Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.
Leia maisMódulo 06 Desenho de Classes
Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.
Leia maisModulo IIa Extra: Object
Modulo IIa Extra: Object Professor Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Bibliografia Linguagem de Programação JAVA Ismael H. F. Santos,
Leia maisProgramação Java. Construção de Interface gráfica. Processo Básico: OO + Eventos. Exemplo
Programação Java Construção de Interface gráfica Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Processo Básico: OO + Eventos Instanciar os componentes de interface por exemplo,
Leia maisJava Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp
Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define
Leia maisOrientaçã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 maisProgramação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 1 Motivação e Introdução Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet
Leia maisHerança. Prof. Leonardo Barreto Campos 1
Herança Prof. Leonardo Barreto Campos 1 Sumário Introdução; Herança Simples; Tipos de Herança; Classe Abstrata; Conversão de Tipos entre Base e Derivada; Níveis de Herança; Herança Múltipla; Bibliografia;
Leia maisParadigmas de Programação. Genéricos
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)
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Herança Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Herança em POO O conceito de herança torna mais rápido o desenvolvimento de softwares complexos Novas classes
Leia maisExercício de Estrutura de dados. Java Fila
Exercício de Estrutura de dados Java Fila Obs.: Esse projeto foi um exercício realizado em sala de aula da matéria de Estrutura de dados com o Profº Frederico Augusto Siqueira Gentil Aqui está sendo relatado
Leia maisNum programa em JAVA é possível definir diferentes sequências de execução independente: Threads.
Threads Folha 5-1 Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Uma Thread é similar a um processo no sentido em que corresponde a um conjunto de instruções
Leia maisProgramação Orientada por Objectos com Java. Ademar Aguiar. www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt. MRSC, Programação em Comunicações
Programação Orientada por Objectos com Java www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt 1 Java Networking java.net.* 141 Package java.net Java dispõe de diversas classes para manipular e processar informação
Leia maisMDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)
MDS II Aula 04 Concepção Requisitos Diagrama de Casos de Uso (Use Cases) 55 DIAGRAMA DE CASOS DE USO BENEFÍCIOS DOS CASOS DE USO ILUSTRAR POR QUE O SISTEMA É NECESSÁRIO OS REQUISITOS DO SISTEMA SÃO COLOCADOS
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que
Leia maisProgramaçã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 maisUNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais
UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06 Disciplina: Linguagem de Programação C Profª Viviane Todt Diverio Funções, variáveis, parâmetros formais
Leia maisAula 3 Objeto atual com referencia THIS e Classes com Herança
Aula 3 Objeto atual com referencia THIS e Classes com Herança Profº Msc. Alexsandro M. Carneiro Engenharia de Computação Tec. Análise e Des. De Sistemas Tópicos Abordados Controlee de Acesso Herança Definição:
Leia maisGuia de Fatores de Qualidade de OO e Java
Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.
Leia maisSistemas 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 maisUNIP - 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 maisAlgoritmos e Programação II
Algoritmos e Programação II Agenda Desenvolver Software Objetos Classes Estudo de algumas Classes da API Estudo de algumas Classes da API Pacotes Criando nossa primeira classe Desenvolver SOFTWARE GAP
Leia maisINF1007: Programação 2 9 Tipos Abstratos de Dados. (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 9 Tipos Abstratos de Dados (c) Dept. Informática - PUC-Rio 1 Tópicos Módulos e compilação em separado Tipo abstrato de dados Exemplo 1: TAD Ponto Exemplo 2: TAD Círculo Exemplo 3:
Leia maisBCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2014/2
BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2014/2 Site da disciplina: http://www.decom.ufop.br/marco/ Moodle: www.decom.ufop.br/moodle Lista de e- mails: bcc221- decom@googlegroups.com
Leia mais15.053 26 de fevereiro de 2002
15.053 26 de fevereiro de 2002 Análise de Sensibilidade apresentado como Perguntas Freqüentes Pontos ilustrados em um exemplo contínuo de fabricação de garrafas. Se o tempo permitir, também consideraremos
Leia maisDesenvolvimento OO com Java Orientação a objetos básica
Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
Leia maisInterface gráfica em Java: Swing e SWT
Programação Orientada a Objetos Interface gráfica em Java: Swing e SWT UNIFEI 14/06/2012 Componentes gráficos em Java Os componentes gráficos em Java Componentes de desenho 2D e 3D Componentes de interface
Leia maisOrientação a Objetos - Programação em C++
OO- Engenharia Eletrônica Orientação a Objetos - Programação em C++ Slides 17: Programação Visual ou Orientada a Objetos Gráficos (Formulários, Botões, Caixas de Texto etc) Exemplificado em Microsoft Visual
Leia maisCurso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
Leia maisProgramação Orientada a Objetos em java. Polimorfismo
Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa
Leia maisLógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto
Lógica de Programação Profas. Simone Campos Camargo e Janete Ferreira Biazotto O curso Técnico em Informática É o profissional que desenvolve e opera sistemas, aplicações, interfaces gráficas; monta estruturas
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
Leia maisOrientação a Objetos e a Linguagem Java
Orientação a Objetos e a Linguagem Java Afrânio Assis afranio@gmail.com Novembro/2006 1 Reutilizição com Herança e Composição Novembro/2006 2 Introdução Separar as partes que podem mudar das partes que
Leia maisII Semana de Ciência e Tecnologia do IFMG campus Bambuí II Jornada Científica 19 a 23 de Outubro de 2009
SOFTWARE DE CONTROLE DE USO DOS LABORATÓRIOS DO DEPARTAMENTO DE CIÊNCIAS AGRÁRIAS DO IFMG CAMPUS BAMBUÍ Alex Daniel CASTANHA ¹; Bruno FERREIRA ² ¹ Estudante do Curso Superior de Tecnologia em Análise e
Leia maisProgramaçã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 maisProgramação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ...
Programação Na Web Linguagem Java Parte II Sintaxe António Gonçalves break com o nome do bloco Nome do bloco Termina o bloco class class Matrix Matrix { private private int[][] int[][] mat; mat; public
Leia maisProgramação Orientada a Objetos SANTOS, Rafael
Programação Orientada a Objetos SANTOS, Rafael É parte do software, e deve atender os requisitos do usuário Controla o hardware, incluindo periféricos de entrada e saída Usa um conjunto de comandos e regras:
Leia maisInteligência Artificial
Inteligência Artificial Aula 7 Programação Genética M.e Guylerme Velasco Programação Genética De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para isso?
Leia maisJava 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
Leia maisTópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza
Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados Prof. Hugo Souza Após vermos uma breve contextualização sobre esquemas para bases dados e aprendermos
Leia maisEncapsulamento 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 maisBanco de Dados I. Prof. Edson Thizon ethizon@bol.com.br
Banco de Dados I Prof. Edson Thizon ethizon@bol.com.br Conceitos Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito Banco de dados (BD) Conjunto de dados interrelacionados
Leia maisENGENHARIA DE SOFTWARE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática : ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Um conjunto estruturado
Leia mais5 Caso de estudo O cartão fidelidade
5 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 maisAULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL
BANCO DE DADOS GERENCIAL 1 AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS Um banco de dados é uma coleção de dados (ou informações) organizadas de forma lógica, e que
Leia maisLinguagem de Programação
Linguagem de Programação Aula 2 Introdução Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno O que
Leia maisSintaxe 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 maisConteúdo programático
Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha
Leia maisCapítulo 4 - Polimorfismo
Capítulo 4 - Polimorfismo 1. POLIMORFISMO: VAMOS NOS ADAPTAR... 1 1.1 APRENDENDO A PREVER O FUTURO... 1 1.2 O QUE É POLIMORFISMO... 1 1.3 TIPOS DE POLIMORFISMO... 4 1.4 PERGUNTAS - EXERCÍCIO... 5 1. Polimorfismo:
Leia maisComputação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores
Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores 1 Exercícios Exercício 1: Construtores e Testes Analise a classe Conta.java, mostrada na
Leia maisOrientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;
Leia maisAula 11: Desvios e Laços
Aula 11: Desvios e Laços Nesta aula explicaremos alguns comandos que podem alterar o fluxo dos seus programas em JavaScript. Você aprenderá a estrutura dos comandos de desvios e laços. Entenderá como funcionam
Leia maisDesenvolvimento Web com Framework Demoiselle versão 1.0
Desenvolvimento Web com Framework Demoiselle versão 1.0 Módulo 07: Outros Componentes Autor: Rodrigo Hjort Serpro / Coordenação Estratégica de Tecnologia / Curitiba www.frameworkdemoiselle.org.br Modificado
Leia maisPadrões de Projeto. Factory Method
Padrões de Projeto Padrões de Criação Factory Method Prof. Eduardo N F Zagari Prof. Ivan Granja Factory Method Também conhecido como Construtor Virtual Em muitas aplicações OO, um objeto cliente precisa
Leia maisMODELAGENS. Modelagem Estratégica
Material adicional: MODELAGENS livro Modelagem de Negócio... Modelagem Estratégica A modelagem estratégica destina-se à compreensão do cenário empresarial desde o entendimento da razão de ser da organização
Leia maisProgramação com Acesso a BD. Programação com OO Acesso em Java
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
Leia maisCurso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais
Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais
Leia maisAdriana da Silva Santi Coord. Pedagógica de Matemática SMED - Abril/2015
GEOMETRIA Adriana da Silva Santi Coord. Pedagógica de Matemática SMED - Abril/2015 O MATERIAL COMO SUPORTE DO PENSAMENTO Muita gente usa o material na sala de aula como se a Geometria estivesse no material.
Leia maisProf. Me. Marcos Echevarria
Prof. Me. Marcos Echevarria JUnit é um framework, open-source, que auxilia a criação e execução de testes unitários em classes Java. Engenharia de Software 2 JUnit facilita a criação de testes automatizados,
Leia maisReuso com Herança a e Composiçã
Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:
Leia maisExercí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.
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.x = x; this.y = y; public String tostring(){ return "(" + x + "," +
Leia maisLista 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 maisJAVA Express com Lógica. Subtítulo
JAVA Express com Lógica Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras
Leia maisSobre o Visual C++ 2010
O Visual Studio é um pacote de programas da Microsoft para desenvolvimento de software, suportando diversas linguagens como C#, C++, C, Java, Visual Basic, etc. Nesta série de tutoriais vou focar apenas
Leia maisINFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing
INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing Docente (Teóricas): Eng.º Vitor M. N. Fernandes Web: http://www.vmnf.net/ipam Mail: vmnf@yahoo.com Aula 10 Sumário Relacionamentos entre
Leia maisAnálise da Base Nacional Comum Curricular de Matemática. Revisado por Phil Daro, USA Common Core Standards
Análise da Base Nacional Comum Curricular de Matemática Revisado por Phil Daro, USA Common Core Standards Complementando a Versão Muitas características excelentes Estrutura de tabela é muito útil Perspectiva
Leia maisBanco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010
Alcides Pamplona Linguagem de Programação CESBD 2010 Parte 2 Alcides Pamplona alcides.pamplona@gmail.com Tópicos API JDBC Utilizando JDBC Statement PreparedStatement Controle de Transação Mapeamento Objeto-Relacional
Leia maisRevisão OO Básico. Orientação a Objetos em Java
Revisão OO Básico Orientação a Objetos em Java Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Nomenclatura A unidade básica de programação em linguagens orientadas a objetos é a
Leia maisProgramação Java III. Prof. Vinicius Rosalen
Programação Java III Prof. Vinicius Rosalen Parte I Reuso / reutilização Para entregar software de qualidade em menos tempo, é preciso reutilizar; Reuso é uma das principais vantagens anunciadas pela Orientação
Leia maisProgramação para a Plataforma Android Aula 17. Broadcasts
Programação para a Plataforma Android Aula 17 Broadcasts O que são eventos de difusão? Como capturar eventos de chamadas telefônicas? Como verificar o estado da bateria? Como implementar receptores de
Leia maisGEOMETRIA. sólidos geométricos, regiões planas e contornos PRISMAS SÓLIDOS GEOMÉTRICOS REGIÕES PLANAS CONTORNOS
PRISMAS Os prismas são sólidos geométricos muito utilizados na construção civil e indústria. PRISMAS base Os poliedros representados a seguir são denominados prismas. face lateral base Nesses prismas,
Leia mais(Aula 17) Threads em Java
(Aula 17) Threads em Java Difícil As Threads thread threads de emjava classificar sãogerenciadaspelajvm. podemser com user criadasdas thread ou kernel Profa. Patrícia A seguintesmaneiras: Fazendo extend
Leia maisUniversidade Federal de Goiás Campus Catalão Departamento de Matemática
Universidade Federal de Goiás Campus Catalão Departamento de Matemática Disciplina: Álgebra Linear Professor: André Luiz Galdino Aluno(a): 4 a Lista de Exercícios 1. Podemos entender transformações lineares
Leia mais(ou seja, boas praticas de programação orientada a objetos devem ser empregadas mesmo se não foram explicitamente solicitadas)
PC-2 / LP-2 2009/2 Lista 2 Prof. Alexandre Sztajnberg Em todos os exercícios a(o) aluna(o) deve, além de atender aos requisitos enunciados, utilizar os conceitos e características de orientação a objetos
Leia maisUm Exemplo de Refatoração. Prof. Alberto Costa Neto DComp/UFS alberto@ufs.br
Um Exemplo de Refatoração Prof. Alberto Costa Neto DComp/UFS alberto@ufs.br Exemplo Programa para calcular e imprimir o valor devido por um cliente de uma vídeo locadora Filme códigopreço:int 1 * * 1 Locação
Leia maisÁREA DO PROFESSOR (TUTOR)
ÁREA DO PROFESSOR (TUTOR) O MOODLE (Modular Object Oriented Dynamic Learning Environment) é um Ambiente Virtual de Ensino-Aprendizagem (AVEA) de código aberto, livre e gratuito que se mantém em desenvolvimento
Leia maisBALANÇO PATRIMONIAL AMBIENTAL - EXERCÍCIO COMENTADO Prof Alan
FACULDADE EVANGÉLICA CIÊNCIAS CONTÁBEIS DISCIPLINA: CONTABILIDADE AMBIENTAL E SOCIAL TURMA: 3º, 4º e 5º PERÍODOS BALANÇO PATRIMONIAL AMBIENTAL - EXERCÍCIO COMENTADO Prof Alan Considere os fatos contábeis
Leia maisPara desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.
1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto
Leia maisPorquê PADRÕES? - Exemplo
Porquê PADRÕES? - Exemplo Problema: extrair informação de um sistema CAD/CAM para um sistema pericial Sistema pericial controla a produção de uma peça Sistema pericial tem vida mais longa do que CAD/CAM
Leia maisIntrodução à Programação de Computadores Parte I
Introdução à Programação de Computadores Parte I Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Compreender os componentes básicos de um programa... Objetivos Bacharelado
Leia maisTreinamento sobre Progress Report.
Treinamento sobre Progress Report. Objetivo O foco aqui é trabalhar o desenvolvimento pessoal de cada aluno. O instrutor irá analisar cada um e pensar em suas dificuldades e barreiras de aprendizado e,
Leia mais