Structural Patterns - Adapter

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

Download "Structural Patterns - Adapter"

Transcrição

1 Converte a interface de uma classe numa outra interface esperada pelo cliente [1]. Permite que duas classes trabalhem em conjunto, quando suas interfaces são diferentes. Imagine que uma classe a ser utilizada num determinado sistema já exista e mais, já é utilizada por outros sistemas. Porém, para o caso específico deste sistema, ela deve ser adaptada para operar com outras classes. Este é um caso para uso do adapter. 26-ago-08 Leandro Tonietto 81

2 Exemplo: Editor gráfico aceita diversas formas geométricas para renderização. Para objetos de primitivas geométricas básicas, a simples herança ou implementação de interface resolve o problema. Agora um texto, que inclusive pode ser editado, escalado, rotacionado e etc., não tem o mesmo comportamento. Uma classe apropriada é usada para edição de textos. É necessário introduzir funções que o editor gráfico não esteja preparado para aceitar e mesmo assim ele deve conseguir mostrar este texto como uma forma geométrica. 26-ago-08 Leandro Tonietto 82

3 Exemplo: Adapter: converte um objeto de texto para uma forma geométrica. TextView sabe mostrar um texto com propriedades de texto (alinhamento, formatação, estilos e etc.). TextShape, coloca o texto do TextView numa forma geométrica, que pode rotacionar, escalar ou transladar uma forma geométrica. 26-ago-08 Leandro Tonietto 83

4 Exemplo: Editor de Texto Editor gráfico Editor de Texto Editor gráfico Quando é necessário editar o texto, um editor de texto é invocado. Quando for necessário desenhar o texto como forma geométrica (inclusive com rotação), invoca o editor gráfico Demonstração 26-ago-08 Leandro Tonietto 84

5 Estrutura: 26-ago-08 Leandro Tonietto 85

6 Aplicação: Structural Patterns - Adapter Quando é desejável utilizar uma classe já existente e suas interfaces não contemplem as necessidades do sistema. Cria-se um adaptador. Quando for interessante separar a funcionalidade da classe da utilização dentro do sistema (deixá-la mais genérica). Por exemplo, o editor de texto pode ser utilizado em outros componentes gráficos ou sistemas. Quando é necessário usar diversas subclasses com um novo propósito, pode-se adaptar a classe-base. 26-ago-08 Leandro Tonietto 86

7 Conseqüências: Structural Patterns - Adapter Adaptadores de classe: Adaptam uma interface através de uma classe concreta. Consequentemente, não adaptam as subclasses da interface. Adapter sobrescrevem comportamentos previstos na interface Adaptee para fazer a adaptação. Apenas introduz um objeto e nenhuma indireção é necessária para o Adaptee. Adaptadores de objeto: Permitem que um Adapter adapte muitos Adaptee. A ligação não é limitada pela hierarquia. Não sobrescreve diretamente um comportamento Adapter. 26-ago-08 Leandro Tonietto 87

8 Conseqüências: O quanto deve ser adaptado do Adaptee para o Target, dependente do quão similares eles são. Adaptadores plugáveis é interessante, pois permite maior flexibilidade na adaptação. Deve ter uma interface para adaptador ser estendido. Adaptador em duas vias, torna a operação mais clara. É possível adaptar de um para outro. Quando um não deve conhecer o outro, ou devem ser utilizado de forma independente também. 26-ago-08 Leandro Tonietto 88

9 Implementação: Structural Patterns - Adapter 26-ago-08 Leandro Tonietto 89

10 Implementação: Structural Patterns - Adapter 26-ago-08 Leandro Tonietto 90

11 Exemplo: Structural Patterns - Adapter No editor de imagens, a classe que trabalha com manipulação de imagem, já possui um comportamento esperado para imagens, e apenas para isto. No entanto, o framework undo-redo precisa de algumas funcionalidades para os objetos de imagem que são próprias para objetos que são manipulados no framework, como cópia em profundidade dos objetos, restauração de um estado anterior, manter cópia em disco e etc. Cria-se um adapter (LTImageAction) para realizar as funcionalidades exigidas pelo framework e estender as funcionalidades do objeto imagem apropriado para manipulação de imagens. Uma classe conheça BufferedImage (Java) e implemente as funções solicitadas pelo framework undo-redo para trabalhar com imagens. 26-ago-08 Leandro Tonietto 91

12 Exemplo: Note que ImageAction não é um BufferedImage 26-ago-08 Leandro Tonietto 92

13 Exemplo: 26-ago-08 Leandro Tonietto 93

Structural Patterns - Bridge

Structural Patterns - Bridge Objetivo é separar a abstração da implementação, de tal forma que possibilidade um independência entre as duas. Caminho natural para uma abstração com diversas possibilidades de implementação é a herança.

Leia mais

Creational Patterns Factory method

Creational Patterns Factory method Objetivo do Factory method é definir qual será a subclasse que utilizada um cliente. Permite que o sistema funcione sem o conhecimento prévio das subclasses. Assim um framework pode ser construído apenas

Leia mais

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões DCC / ICEx / UFMG Padrões de Projeto Padrões de Projeto Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Interfaces Uma interface é uma forma abstrata de descrever um objeto A classe fixa a forma de um objeto

Leia mais

Programação Orientada a Objetos. Padrões Estruturais

Programação Orientada a Objetos. Padrões Estruturais Programação Orientada a Objetos Padrões Estruturais Cristiano Lehrer, M.Sc. Classificação dos Padrões de Projeto Propósito o que o padrão faz: Padrões de criação: abstraem o processo de criação de objetos

Leia mais

Padrões de Projeto. T ó p i c o s A v a n ç a d o s e m L i n g u a g e m d e P r o g r a m a ç ã o. Prof. Alexandre Vidal

Padrões de Projeto. T ó p i c o s A v a n ç a d o s e m L i n g u a g e m d e P r o g r a m a ç ã o. Prof. Alexandre Vidal Padrões de Projeto Prof. Alexandre Vidal DEINF-UFMA Fevereiro de 2007 Adapter (padrão estrutural) intenção: converter a interface de uma classe em uma outra interface esperada por um cliente; o padrão

Leia mais

Singleton e Adapter. Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé)

Singleton e Adapter. Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) e Adapter Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) O que vimos na última aula? Factory Method Abstract Factory 2 O que veremos hoje? (padrão de criaçã) Adapter

Leia mais

Tópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico

Tópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico Reuso de Software Aula 03 Tópicos da Aula POO e Padrões de Projetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 12 Março 2012 Programação orientada a objetos Reuso de

Leia mais

Interface vs. Implementação Herança vs. Composição

Interface vs. Implementação Herança vs. Composição Interface vs. Implementação Herança vs. Composição O que vimos na última aula? Padrões GRASP Expert Creator Low Coupling High Cohesion 2 O que veremos hoje? Interface e Polimorfismo Interface como uma

Leia mais

3.1 Reflexão Computacional

3.1 Reflexão Computacional 3 Adaptação Dinâmica Adaptação dinâmica é a capacidade de um sistema ser modificado durante sua execução para se adequar a novas necessidades. Recentemente, esse tem se tornado um tópico de pesquisa proeminente

Leia mais

INF011 Padrões de Projeto. 15 Proxy

INF011 Padrões de Projeto. 15 Proxy INF011 Padrões de Projeto 15 Proxy Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação Tecnológica

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Editor gráfico Vamos fazer um programa simples para desenho e manipulação de figuras geométricas: um nano-sketchpad

Leia mais

Frameworks - Introdução. Professor: Hyggo Almeida

Frameworks - Introdução. Professor: Hyggo Almeida Professor: Hyggo Almeida O que vimos na última aula? Pool de Threads 2 O que veremos hoje? 3 Reuso, reuso, reuso Objetivo sempre: reutilizar código Reutilizar classes Reutilizar bibliotecas Collections,

Leia mais

Java - Herança e Interface

Java - Herança e Interface Java - Herança e Interface BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Exemplo extraído de www.caelum.com.br Polimorfismo Imagine que un sistema

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não

Leia mais

Capítulo 2. Orientação a Objetos

Capítulo 2. Orientação a Objetos Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos

Leia mais

Capítulo 3. Framework 28

Capítulo 3. Framework 28 3 Framework Para facilitar a implementação e comparação de algoritmos, a tecnologia de frameworks [23] é uma solução que já demonstrou ser muito eficaz [34]. Na literatura existem diversos trabalhos sobre

Leia mais

Computação II (MAB 225)

Computação II (MAB 225) Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Interfaces e abstrações Interfaces são uma ferramenta poderosa de abstração: representar um conceito pelas suas

Leia mais

CEF 1 - Soldador. Tecnologias da Informação e da Comunicação. Helena Silva Agrupamento de Escolas Dr. Carlos Pinto Ferreira

CEF 1 - Soldador. Tecnologias da Informação e da Comunicação. Helena Silva Agrupamento de Escolas Dr. Carlos Pinto Ferreira CEF 1 - Soldador Tecnologias da Informação e da Comunicação Helena Silva Agrupamento de Escolas Dr. Carlos Pinto Ferreira Sumário 01 de Março de 2013 Diferentes tipos de referência: relativas, absolutas,

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Editor Gráfico Vamos usar nosso framework do Motor, com pequenas mudanças (para permitir interação com

Leia mais

Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados

Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados Estilo: BlackBoard Útil para problemas no qual não há uma solução determinística Uma coleção de programas independentes que trabalham cooperativamente em uma estrutura de dados comum (blackboard) Vários

Leia mais

FX Canvas2D: uma API de jogos bidimensionais para auxiliar na aprendizagem de programação

FX Canvas2D: uma API de jogos bidimensionais para auxiliar na aprendizagem de programação Congresso Brasileiro de Informática na Educação - 2017 III Workshop de Ensino em Pensamento Computacional, Algoritmos e Programação FX Canvas2D: uma API de jogos bidimensionais para auxiliar na aprendizagem

Leia mais

Structural Patterns - Proxy

Structural Patterns - Proxy Prover um controle de acesso para determinados objetos, de tal maneira que estes objetos estejam protegidos ou subordinados ao objeto proxy. A idéia é que o objeto produto seja acessível pela aplicação

Leia mais

Facetas da Reusabilidade de Software

Facetas da Reusabilidade de Software Facetas da Reusabilidade de Software Daremos um breve panorama da disciplina inteira: reusabilidade de software Qual é o problema? Fazer software é difícil Fazer software é lento e caro Não temos tecnologia

Leia mais

Programação Orientada a Objetos para Redes de Computadores. Polimorfismo com Hierarquias de Herança. Exemplo: Hierarquia Animal

Programação Orientada a Objetos para Redes de Computadores. Polimorfismo com Hierarquias de Herança. Exemplo: Hierarquia Animal Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Polimorfismo Polimorfismo com Hierarquias de Herança

Leia mais

Mérito Desenvolvimento Imobiliário I FII. Fundo de Investimento Imobiliário

Mérito Desenvolvimento Imobiliário I FII. Fundo de Investimento Imobiliário 03 09 10 11 13 15 16 18 20 22 24 26 27 29 31 02 1. 03 1. 04 1. 05 1. 06 1. 07 1. 08 2. ¹ ¹ ¹ 09 3. 10 4. 11 4. 12 5. ¹ ² ³ 13 5. x MIL ago.2013 ago.2014 ago.2015 ¹ ³ ² ¹ 14 6. 15 6. ² 16 6. B C D E F A

Leia mais

Structural Patterns - Composite

Structural Patterns - Composite Permite compor objetos como um árvore de objetos, de tal forma que as partes representem o todo. O objetivo deste pattern é a representação de composições de objetos de um mesmo tipo. Objetos de um mesmo

Leia mais

Aula 9 Herança. Prof. Jefersson Alex dos Santos

Aula 9 Herança. Prof. Jefersson Alex dos Santos Aula 9 Herança Prof. Jefersson Alex dos Santos Roteiro Introdução Conversão de tipo explícita (Cast) Acesso Protegido A classe Object A classe Class Reflexão Recomendações de Projeto Herança Técnica necessária

Leia mais

Structural Patterns - Flyweight

Structural Patterns - Flyweight Algumas aplicações, tais como editores de texto, possuem uma granularidade de representação muito fina sobre os dados;... e uma quantidade muito grande de dados. O custo de memória para representação destes

Leia mais

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

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos

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

Protótipo de Editor Gráfico de Fluxogramas para Representação de Comandos da Linguagem Portugol

Protótipo de Editor Gráfico de Fluxogramas para Representação de Comandos da Linguagem Portugol Protótipo de Editor Gráfico de Fluxogramas para Representação de Comandos da Linguagem Portugol Aluno Luís Carlos Seifert de Souza Orientador Wilson Pedro Carli Roteiro da Apresentação Introdução Motivação

Leia mais

Behavioral Patterns - Mediator

Behavioral Patterns - Mediator Padrão que define através de um objeto a interação de um conjunto de objetos. Problema/Motivação: Particionamento de responsabilidades aumenta o reuso. Porém, aumento do número de objetos e das suas interconexões

Leia mais

Conceitos de Orientação a Objetos

Conceitos de Orientação a Objetos Conceitos de Orientação a Objetos I. Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década de 60 - Noruega), que já implementava alguns conceitos da

Leia mais

Sumário. Introdução Câmera sintética Window-to-Viewport Exercício. 29-May-13 Leandro Tonietto!2

Sumário. Introdução Câmera sintética Window-to-Viewport Exercício. 29-May-13 Leandro Tonietto!2 Câmera Sintética Leandro Tonietto Computação Gráfica Desenvolvimento Jogos e Entretenimento Digital ltonietto@unisinos.br http://professor.unisinos.br/ltonietto/jed/pgr/camerasintetica.pdf 05-13 29-May-13

Leia mais

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Exemplos de Polimorfismo. Exemplo: Hierarquia Animal

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Exemplos de Polimorfismo. Exemplo: Hierarquia Animal Linguagens de Programação Parte IV Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Introdução à Programação (Continuação) Relembrando da Última Aula... Herança Mais exemplos de programação

Leia mais

Aula 4 Encapsulamento e Relacionamento Cleverton Hentz

Aula 4 Encapsulamento e Relacionamento Cleverton Hentz Aula 4 Encapsulamento e Relacionamento Cleverton Hentz Sumário } Encapsulamento } Propriedades } Relacionamentos } Composição } Herança 2 O que é encapsulamento? } O que vocês entendem por encapsular?!

Leia mais

Linguagens de Programação Aula 12

Linguagens de Programação Aula 12 Linguagens de Programação Aula 12 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Implementando subprogramas 2 Na aula de hoje Suporte para a programação orientada a objetos 3 Roteiro Introdução

Leia mais

4 A Máquina Extensível

4 A Máquina Extensível 4 A Máquina Extensível Para a construção da MEC extensível utilizou-se a técnica de framework de software, obtendo-se o framework QEEF (Query Execution Engine Framework) (Ayres et al., 2003). A escolha

Leia mais

Padrões de Projeto. Factory Method

Padrõ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 mais

Classe Abstrata e Interface

Classe Abstrata e Interface Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public

Leia mais

Repositórios JPA no Projeto ecafeteria

Repositórios JPA no Projeto ecafeteria Repositórios JPA no Projeto ecafeteria Um objeto EntityManager representa uma ligação à base de dados. Quando um objeto EntityManger é criado também é criado um objeto EntityTransaction associado ao EntityManager.

Leia mais

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

Programação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Programação OO em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos

Leia mais

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco 1 Expandindo o Sistema p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco class Diretor extends Funcionario { public boolean autentica(int senha)

Leia mais

Programação Orientada a Objetos para Redes de Computadores

Programação Orientada a Objetos para Redes de Computadores Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Polimorfismo Polimorfismo com Hierarquias Polimorfismo

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Editor Gráfico Vamos usar nosso framework do Motor, com pequenas mudanças (para permitir interação com

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

Polimorfismo: aprendendo a prever o futuro. Polimorfismo: aprendendo a prever o futuro. Definições (2/5) Definições Tipos de Polimorfismo

Polimorfismo: aprendendo a prever o futuro. Polimorfismo: aprendendo a prever o futuro. Definições (2/5) Definições Tipos de Polimorfismo Polimorfismo: aprendendo a prever o futuro BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Sumário Definições Tipos de Polimorfismo Dicas para o Polimorfismo Eficaz Armadilhas

Leia mais

Programação Orientada a Objetos JAVA - NETBEANS

Programação Orientada a Objetos JAVA - NETBEANS Programação Orientada a Objetos JAVA - NETBEANS Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento

Leia mais

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho 1 Introdução I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho Os hardwares gráficos atualmente podem ser considerados como verdadeiros processadores

Leia mais

Padrões de Design. Padrões de Design. Abstract Factory. Padrões de Design. Padrões de Design Abstract Factory. Abstract Factory.

Padrões de Design. Padrões de Design. Abstract Factory. Padrões de Design. Padrões de Design Abstract Factory. Abstract Factory. Escopo Classe Objeto Finalidade Criação Estrutural Comportamental Factory Method Interperter Abstract Factory Builder Prototype Bridge Composite Facade Flyweight Proxy Chain of Responsibility Command Iterator

Leia mais

Tecnologias da Informação e Comunicação

Tecnologias da Informação e Comunicação Neste guião vamos aprender a trabalhar com as funcionalidades da folha de cálculo disponibilizada pela Google. A vantagem é que está acessível em qualquer computador com acesso à Internet e não necessita

Leia mais

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 7 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

INF011 Padrões de Projeto. 10 Bridge

INF011 Padrões de Projeto. 10 Bridge INF011 Padrões de Projeto 10 Bridge Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação Tecnológica

Leia mais

ESPECIFICAÇÃO DE SOFTWARE

ESPECIFICAÇÃO DE SOFTWARE ESPECIFICAÇÃO DE SOFTWARE Integrantes do grupo: Joel Edu Sánchez Castro Fernando Hattori Miguel Angel Galarreta Valverde Felipe Martins dos Santos 1 SUMÁRIO DESCRIÇÃO...3 REQUISITOS...3 REQUISITOS FUNCIONAIS

Leia mais

Word. Introdução. Introdução. Introdução. Interface padrão Margem esquerda da página. Interface padrão

Word. Introdução. Introdução. Introdução. Interface padrão Margem esquerda da página. Interface padrão Introdução Word Prof. Leandro Tonietto Cursos de Informática Unisinos Março-2008 É um editor de textos... ou processador de textos. Editores de texto X processadores de texto. Editor Notepad Kwrite Textpad

Leia mais

GESTÃO DE COLEÇÕES BIOLÓGICAS UTILIZANDO SPECIFY 6

GESTÃO DE COLEÇÕES BIOLÓGICAS UTILIZANDO SPECIFY 6 CURSO DE FORMAÇÃO GESTÃO DE COLEÇÕES BIOLÓGICAS UTILIZANDO SPECIFY 6 Departamento de Matemática da Universidade de Coimbra, 26-28 de Março de 2018 Programa Dia 1 Segunda-feira, 26 de Março de 2018 Sessão

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos PMR2300 Escola Politécnica da Universidade de São Paulo Proposta O mundo real é composto de entidades que interagem entre si para realizar tarefas (objetos). Objetos podem representar entidades concretas

Leia mais

Composição e Herança. carro meucarro = new carro();

Composição e Herança. carro meucarro = new carro(); Composição e Herança Um dos conceitos mais interessantes das linguagens orientadas a objeto é a reutilização de código. Mas para isso realmente funcionar, você tem que conseguir fazer mais do que simplesmente

Leia mais

Transformações Geométricas 3D

Transformações Geométricas 3D Transformações Geométricas 3D Introdução Transformações 3D são uma etensão dos métodos 2D, incluindo-se a coordenada Z. Especificação de vetores em 3D translação: vetor de translação 3D escalonamento:

Leia mais

Decorator e Composite. Nazareno Andrade (baseado no material de Hyggo Almeida)

Decorator e Composite. Nazareno Andrade (baseado no material de Hyggo Almeida) Decorator e Composite Nazareno Andrade (baseado no material de Hyggo Almeida) Decorator Vocês sabem como ler um arquivo texto em Java??? Pode-se usar a classe java.io.fileinputstream Vamos fazer um teste

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos 2 Prof. Fabiano Dorça. Padrões de Projeto.

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos 2 Prof. Fabiano Dorça. Padrões de Projeto. Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos 2 Prof. Fabiano Dorça Padrões de Projeto Permite definir famílias de comportamentos, que podem ser (re)utilizados

Leia mais

Introdução ao Java. Prof. Herbert Rausch Fernandes

Introdução ao Java. Prof. Herbert Rausch Fernandes Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos

Leia mais

Unidade: sobrecarga, construtores e herança

Unidade: sobrecarga, construtores e herança Unidade: sobrecarga, construtores e herança 0 Unidade: sobrecarga, construtores e herança Sobrecarga Sobrecarregar (do inglês overload) um método é criar mais métodos com o mesmo nome, porém com assinaturas

Leia mais

TerraLAB Laboratório para Modelagem e Simulação de Sistemas Terrestres Departamento de Computação - UFOP

TerraLAB Laboratório para Modelagem e Simulação de Sistemas Terrestres Departamento de Computação - UFOP TerraLAB Laboratório para Modelagem e Simulação de Sistemas Terrestres Departamento de Computação - UFOP Especificação de Casos de Uso Versão Histórico da Revisão Data Versão Descrição

Leia mais

Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...

Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal... Sumário Prefácio...15 Capítulo 1 Introdução...17 Capítulo 2 Instalação...22 2.1 Visão Geral das Bibliotecas OpenGL...22 2.2 Bibliotecas Necessárias para Execução...24 2.3 Bibliotecas Necessárias para Compilação...24

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e

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

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Herança Mais exemplos de

Leia mais

Editor id. Este guia pode ser descarregado como beginner_id-editor_pt.odt ou beginner_ideditor_pt.pdf

Editor id. Este guia pode ser descarregado como beginner_id-editor_pt.odt ou beginner_ideditor_pt.pdf Editor id O Editor id Este guia pode ser descarregado como beginner_id-editor_pt.odt ou beginner_ideditor_pt.pdf Revisto em 2016-03-30 TOC {:toc} O editor id é o editor padrão do OpenStreetMap integrado

Leia mais

POO29004 Programação Orientada a Objetos

POO29004 Programação Orientada a Objetos POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo

Leia mais

7.1 Trabalhos Relacionados

7.1 Trabalhos Relacionados 7 Conclusões O desenvolvimento de aplicações adaptáveis traz novos desafios em relação ao desenvolvimento de software convencional. Em parte, isso está relacionado às diferentes características das diversas

Leia mais

Padrões de Projeto de Software

Padrões de Projeto de Software Padrões de Projeto de Software Lista de Exercícios AV2-01 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Qual o objetivo dos padrões Comportamentais, segundo o catálogo GOF? Questão 1 Resposta

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

Apresentação da Disciplina

Apresentação da Disciplina Apresentação da Disciplina Leandro Tonietto Computação Gráfica Curso de Jogos Digitais ltonietto@unisinos.br ago-2011 http://professor.unisinos.br/ltonietto/jed/cgr/cgr2012_01.html Agenda da 1ª aula Introdução

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Múltiplos aliens Por enquanto todos os nossos aliens se parecem e se comportam do mesmo jeito, mas e se

Leia mais

As classes Formatador e ElementosAFormatar

As classes Formatador e ElementosAFormatar Introdução Vamos considerar o problema de formatação no editor de documentos WYSIWYG Já sabemos como é a representação da informação Mas ainda não sabemos como gerar uma estrutura particular de linhas,

Leia mais

Segunda Parte (3 valores) Primeira Parte (7 valores) Nome: Número: PERGUNTA NOTA PERGUNTA RESPOSTA

Segunda Parte (3 valores) Primeira Parte (7 valores) Nome: Número: PERGUNTA NOTA PERGUNTA RESPOSTA 2º Teste 2012/2013 1º Semestre 201301171830 1/7 2º Teste 2012/2013 1º Semestre 17 de Janeiro de 2013, 11:30 (120 minutos) Nome: Número: Primeira Parte (7 valores) PERGUNTA NOTA 1.1.1 1.1.2 1.1.3 1.2 1.3

Leia mais

Trabalho GA - Editor de Cenário Isométrico

Trabalho GA - Editor de Cenário Isométrico Objetivo A tarefa consiste em criar um editor gráfico de cenários para jogos 2D com visão isométrica. O editor deve permitir que o usuário possa criar, abrir e editar mapas (tilemaps) com tileset de visão

Leia mais

Análise e modelação de sistemas. Classe T13: Passando da análise ao Desenho

Análise e modelação de sistemas. Classe T13: Passando da análise ao Desenho Análise e modelação de sistemas Classe T13: Passando da análise ao Desenho 2 Programa Organizando os diagramas Da análise ao desenho Pacotes Estereó;pos Classes de análise vs classes de desenho Estereó;pos

Leia mais

2º Grupo Capitulo 11 Página 517 a 530 Camada do Núcleo a Manipuladores. Alunos Wanderson da Silva Serradilha Sérgio Vilela Maia Rúlio Márcio

2º Grupo Capitulo 11 Página 517 a 530 Camada do Núcleo a Manipuladores. Alunos Wanderson da Silva Serradilha Sérgio Vilela Maia Rúlio Márcio 2º Grupo Capitulo 11 Página 517 a 530 Camada do Núcleo a Manipuladores Alunos Wanderson da Silva Serradilha Sérgio Vilela Maia Rúlio Márcio A camada do núcleo serve de ponte entre aplicativos e o processamento

Leia mais

Reuso de Software Aula Maio 2012

Reuso de Software Aula Maio 2012 Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.1 http://www.dcc.ufrj.br/~fabiom/java Visibilidade Nem todos os campos e operações de um objeto são para consumo externo; várias delas podem

Leia mais

Frameworks. SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013

Frameworks. SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013 Frameworks SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013 1 Frameworks Definições: Aplicação semi-completa reutilizável que, quando especializada, produz

Leia mais

Objetivos. Explorar os conceitos fundamentais acerca do uso herança na linguagem Java

Objetivos. Explorar os conceitos fundamentais acerca do uso herança na linguagem Java Objetivos Explorar os conceitos fundamentais acerca do uso herança na linguagem Java Como a herança reutiliza código, vantagens e desvantagens, o problema weak base-class, acoplamento com herança, o uso

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

P rat i c ar identificar uma figura com base em seus atributos. Aprende r a criar uma figura com base em seus atributos ou seu nome

P rat i c ar identificar uma figura com base em seus atributos. Aprende r a criar uma figura com base em seus atributos ou seu nome 1 U n t er r ich t splan Id entificação e Formação d e Polígonos Altersgruppe: 6º ano, 5 º ano Online-Ressourcen: Co pi ar, c o l ar e de sc o bri r Abert ura Professor apresent a Alunos prat icam Discussão

Leia mais

Formulários VIII Vista de estrutura

Formulários VIII Vista de estrutura Formulários VIII Vista de estrutura Permite personalizar o conjunto de controlos de um formulário Cabeçalho, Detalhe e Rodapé do formulário Controlos dependentes: reflectem directamente o conteúdo do registo

Leia mais

Composite. Padrões de Projeto. Composite. Prof. MSc Manfrine Santos. Anderson Fernandes Esteves. Manaus, Outubro de / 19

Composite. Padrões de Projeto. Composite. Prof. MSc Manfrine Santos. Anderson Fernandes Esteves. Manaus, Outubro de / 19 Padrões de Projeto Anderson Fernandes Esteves Prof. MSc Manfrine Santos Manaus, Outubro de 2007 1/ 19 1 2/ 19 Compor objetos em estruturas de árvore a fim de expressar hierarquias do tipo todo-parte. permite

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

INF011 Padrões de Projeto Introdução

INF011 Padrões de Projeto Introdução INF011 Padrões de Projeto 01 - Introdução Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação

Leia mais

Desenvolvimento de uma ferramenta para organização e gerenciamento de atividades de docentes

Desenvolvimento de uma ferramenta para organização e gerenciamento de atividades de docentes Universidade Federal de Uberlândia - UFU Faculdade de Computação Bacharelado em Sistemas de Informação Desenvolvimento de uma ferramenta para organização e gerenciamento de atividades de docentes Rafael

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

Criar um recurso para QIM com ActivInspire - Studio

Criar um recurso para QIM com ActivInspire - Studio Como criar um recurso com o Software ActivInspire Studio Depois de abrir o Software ActivInspire deve criar uma nova página, ficheiro Novo e de seguida escolher o formato desejado. Nota: De forma a este

Leia mais

ou desde que a especificação MIDP permita chama-lo externamente em outra MIDlet suite através de um nome único.

ou desde que a especificação MIDP permita chama-lo externamente em outra MIDlet suite através de um nome único. Como necessitaremos trabalhar com registros e navegar neles, incluiremos variáveis em nossa classe para trabalhar com a classe RecordStore e a interface RecordEnumeration. Siga os passos da ilustração

Leia mais

Orientação a Objetos Interfaces

Orientação a Objetos Interfaces Orientação a Objetos Interfaces Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/ 1 Objetivos

Leia mais

Abstract Factory. Prover uma interface para criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas

Abstract Factory. Prover uma interface para criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas Objetivo Prover uma interface para criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas Também chamado de Kit Resumo Parece semelhante ao padrão Factory Method,

Leia mais

6 Polimorfismo. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza

6 Polimorfismo. Desenvolvimento OO com Java. Vítor E. Silva Souza  ~ vitorsouza Desenvolvimento OO com Java 6 Polimorfismo 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 Espírito

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais