Especialização em web com interfaces ricas. Padrões de Projeto - II
|
|
- Natan Tomé Lopes
- 7 Há anos
- Visualizações:
Transcrição
1 Especialização em web com interfaces ricas Padrões de Projeto - II Prof. Fabrízzio Alphonsus A. M. N. Soares fabrizzio@inf.ufg.br professor.fabrizzio@gmail.com Instituto de Informática Universidade Federal de Goiás Aula 7 25 de maio de 2012 Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 1/74
2 Padrões de criação I Factory Method Abstract Factory Builder Prototype Singleton Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 2/74
3 Factory Method I Factory Method (Método de Fábrica) é um padrão de projeto que visa encapsular a criação de um objeto em um método. Factory Method é provavelmente um dos padrões mais utilizados porque ele é muito natural. Ele é usado, muitas vezes, sem consciência de que está sendo usado um padrão. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 3/74
4 O Problema I Você precisa criar um objeto mas você não quer usar a diretiva new diretamente ou não sabe qual classe instanciar. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 4/74
5 A Solução I Algumas razões existem para que não queria utilizar new diretamente. A primeira, e mais óbvia, é não saber que classe de objeto instanciar. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 5/74
6 A Solução II Isso é comum numa aplicação bem desenhada onde variáveis são estruturadas com base em interfaces. Assim, vários tipos de objetos diferentes podem ser associadas a essa variável. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 6/74
7 A Solução III Uma outra razão é a necessidade de inicializar o objeto instanciado antes de ser atribuido à variável. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 7/74
8 A Solução IV Importante notar que esta inicialização não depende do ambiente onde o objeto será utilizado, mas apenas da estrutura do próprio objeto. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 8/74
9 A Implementação I A implementação de Factory Method é tão simples quanto fazer new dentro de um método. Não existe nenhum segredo. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 9/74
10 A Implementação II Em particular o método pode ser estático. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 10/74
11 A Implementação III Neste caso a criação do objeto é feita num escopo diferente da criação feita dentro de um método de instancia. Mesmo assim, se trata do mesmo padrão. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 11/74
12 O Modelo I Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 12/74
13 Estrutura I O padrão Factory Method, da forma como foi descrito no livro Design Patterns: Elements of Reusable Object-Oriented Software, contém os seguintes elementos: Creator declara o factory method (método de fabricação) que retorna o objeto da classe Product (produto). Este elemento também pode definir uma implementação básica que retorna um objeto de uma classe ConcreteProduct (produto concreto) básica; ConcreteCreator sobrescreve o factory method e retorna um objeto da classe ConcreteProduct; Product define uma interface para os objectos criados pelo factory method; Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 13/74
14 Estrutura II ConcreteProduct uma implementação para a interface Product. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 14/74
15 Exemplo I Uma aplicação, que é construída através de um framework baseado no padrão Factory Method, suporta a criação de documentos do tipo MeuDocumento. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 15/74
16 Exemplo II O framework é constituído pelas classes abstratas Aplicacao e Documento. A aplicação disponibiliza as classes concretas MinhaAplicacao e MeuDocumento. A classe MinhaAplicacao é uma implementação da abstração definida pela classe Aplicacao. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 16/74
17 Exemplo III Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 17/74
18 Exemplo IV A chave deste padrão está na declaração do método abstrato criadocumento, da classe Aplicacao, e na sua utilização pelo método novodocumento. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 18/74
19 Exemplo V Este arranjo permite que o método novodocumento crie documentos sem conhecer os detalhes de implementação, existentes em cada tipo de documento suportado pela aplicação. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 19/74
20 Exemplo VI Isto permite que a implementação do método criadocumento (neste exemplo situada na classe MinhaAplicacao) varie livremente, para atender os diversos formatos possivelmente suportados, sem que seja necessário modificar o código das classes abstratas. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 20/74
21 Código Java I 1 abstract class Aplicacao { 2 3 private Documento doc; 4 5 abstract Documento criadocumento(); 6 7 void novodocumento() { 8 this.doc = this.criadocumento(); 9 } void abrirdocumento() { 12 this.doc.abrir(); 13 } 14 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 21/74
22 Código Java II 1 abstract class Documento { 2 3 void abrir() { 4 System.out.println("Documento:Abrir documento!"); 5 } 6 7 void fechar() { 8 System.out.println("Documento:Fechar documento!"); 9 } void gravar() { 12 System.out.println("Documento:Gravar documento!"); 13 } 14 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 22/74
23 Código Java III 1 class MinhaAplicacao extends Aplicacao { 2 3 Documento criadocumento() { 4 return new MeuDocumento(); 5 } 6 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 23/74
24 Código Java IV 1 class MeuDocumento extends Documento { 2 3 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 24/74
25 Abstract Factory I Abstract Factory é um padrão de criação e como o nome diz Fabrica Abstrata este padrão é utilizado para a criação de objetos relacionados ou família de objetos. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 25/74
26 O Problema I Precisamos criar famílias de objetos relacionados e cada objeto de cada família tem sua implementação especifica. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 26/74
27 O Problema II Você precisa garantir que dada uma situação você escolherá a família correta de objetos que será utilizado sem misturar os objetos de famílias diferentes. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 27/74
28 O Modelo I Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 28/74
29 Exemplo I Imagine que você esteja desenvolvendo uma aplicação de gerenciamento de documentos (GED) e precise tratar diferentes tipos de arquivos: txt, pdf, doc e etc. Dentro deste contexto você terá objetos para extração e indexação de conteúdo para cada tipo de arquivo (mime-type). Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 29/74
30 Exemplo II Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 30/74
31 Código Java I 1 public interface DocumentFactory 2 { 3 public static final String TXT = "TXT"; 4 public static final String PDF = "PDF"; 5 public DocumentReader createdocumentreader( ); 6 public DocumentWriter createdocumentwriter( ); 7 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 31/74
32 Código Java II 1 import java.io.outputstream; 2 3 public interface DocumentReader { 4 public OutputStream readefile( String file ); 5 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 32/74
33 Código Java III 1 import java.io.inputstream; 2 3 public interface DocumentWriter { 4 public void writefile( InputStream inputstream ); 5 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 33/74
34 Código Java IV 1 public class PdfDocumentFactory implements DocumentFactory 2 { 4 public DocumentReader createdocumentreader( ) 5 { 6 System.out.println( "PdfDocumentFactory. createdocumentreader ::: PDF" ); 7 return new PdfDocumentReader( ); 8 } 10 public DocumentWriter createdocumentwriter( ) 11 { 12 System.out.println( "PdfDocumentFactory. createdocumentwriter ::: PDF" ); 13 return new PdfDocumentWriter( ); 14 } 15 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 34/74
35 Código Java V 1 import java.io.outputstream; 2 3 public class PdfDocumentReader implements DocumentReader { 5 public OutputStream readefile( String file ) { 6 System.out.println( "PdfDocumentReader.readeFile ::: PDF " ); 7 return null; 8 } 9 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 35/74
36 Código Java VI 1 import java.io.inputstream; 2 3 public class PdfDocumentWriter implements DocumentWriter { 5 public void writefile(inputstream inputstream) { 6 System.out.println( "PdfDocumentWriter.writeFile ::: PDF " ); 7 } 8 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 36/74
37 Código Java VII 1 public class TxtDocumentFactory implements DocumentFactory 2 { 4 public DocumentReader createdocumentreader( ) 5 { 6 System.out.println( "TxtDocumentFactory. createdocumentreader ::: TXT" ); 7 return new TxtDocumentReader( ); 8 } 10 public DocumentWriter createdocumentwriter( ) 11 { 12 System.out.println( "TxtDocumentFactory. createdocumentwriter ::: TXT" ); 13 return new TxtDocumentWriter( ); 14 } 15 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 37/74
38 Código Java VIII 1 import java.io.outputstream; 2 3 public class TxtDocumentReader implements DocumentReader { 5 public OutputStream readefile(string file) { 6 System.out.println( "TxtDocumentReader.readeFile ::: TXT " ); 7 return null; 8 } 9 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 38/74
39 Código Java IX 1 import java.io.outputstream; 2 public class Client 3 { 4 public static void main(string[] args) throws Exception 5 { 6 DocumentFactory documentfactory = createdocumentfactory ( "PDF" ); 7 DocumentWriter documentwriter = documentfactory. createdocumentwriter(); 8 documentwriter.writefile( null ); 9 DocumentReader documentreader = documentfactory. createdocumentreader(); 10 OutputStream outputstream = documentreader.readefile(" dados.txt"); 11 } 12 public static DocumentFactory createdocumentfactory( String type ) 13 { 14 if ( type.equalsignorecase( DocumentFactory.PDF ) ) 15 return new PdfDocumentFactory(); 16 if( type.equalsignorecase( DocumentFactory.TXT ) ) Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 39/74
40 Código Java X 17 return new TxtDocumentFactory(); 18 return null; 19 } 20 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 40/74
41 Utilizações comuns I Utilize quando quiser ter independência de como seus objetos são criados, ou seja você deseja desacoplar sua aplicação e as famílias de objetos utilizadas por ela. Dessa forma podemos trocar a família de objetos utilizadas na aplicação sem afetar o código fonte. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 41/74
42 Utilizações comuns II Utilize quando quiser fornecer uma biblioteca de classes de produtos e quer revelar somente suas interfaces e as implementações. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 42/74
43 Observação I Embora utilizar o AbstractFactory gere um trabalho adicional (escrever produtos abstratos, fabricas abstratas, e suas respectivas implementações), utilizar fabricas é uma boa prática de programação e ajuda a reduzir o acoplamento e conseqüentemente melhora manutenção do sistema. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 43/74
44 Padrão Builder I O padrão Builder (Montador) é um projeto que ajuda a criar objetos complexos; quer seja porque contém muitas propriedades e várias configurações possíveis, ou porque contém uma estrutura aninhada de objetos. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 44/74
45 O Problema I Ao codificar orientado a objetos é comum representarmos entidades do sistema como estruturas de objetos aninhados ou utilizar objetos no padrão Bean com várias propriedades. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 45/74
46 O Problema II A construção de objetos deste tipo pode ser complexa e obrigar a escrever muito código burocrático devido à estrutura interna do objeto estar encapsulada. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 46/74
47 O Problema III Construir um objeto complexo é uma tarefa chata, propensa a erros e pouco controlável. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 47/74
48 A Solução I A solução é definir um outro objeto que será responsável pela criação correta do objeto que queremos construir. Para que não haja confusão com o conceito de construtor, passarei a referir à responsabilidade do objeto que implementa o padrão Builder como montar. O objeto Builder é responsável por montar um outro objeto. Este outro objeto é chamado, genericamente, de produto. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 48/74
49 A Solução II O objeto Builder conta com vários métodos na sua interface de forma a poder ser informado das características que o produto terá e um método que realmente irá montar o produto e entregálo. Opcionalmente a montagem pode ser explicitada em um outro método de forma a deixar mais claro quando acontece a montagem. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 49/74
50 O Modelo I Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 50/74
51 O Modelo II O padrão Builder, da forma como foi descrito no livro Design Patterns: Elements of Reusable Object-Oriented Software, contém os seguintes elementos: director constrói um objeto utilizando a interface do builder; builder especifica uma interface para um construtor de partes do objeto-produto; concrete builder define uma implementação da interface builder, mantém a representação que cria e fornece interface para recuperação do produto; product o objeto complexo acabado de construir. Inclui classes que definem as partes constituintes. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 51/74
52 Exemplo I Imaginemos que você tenha uma classe chamada Pizza e que você pode querer construir objetos com uma quantidade variada de parâmetros. Uma forma seria criar construtores sobrecarregados: 1 Pizza(int size) {... } 2 Pizza(int size, boolean cheese) {... } 3 Pizza(int size, boolean cheese, boolean pepperoni) {... } 4 Pizza(int size, boolean cheese, boolean pepperoni, boolean bacon ) {... } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 52/74
53 Exemplo II Isso é chamado de Construtor Telescoping Padrão. O problema com esse padrão é que uma vez construtores são 4 ou 5 parâmetros de longo torna-se difícil de lembrar a ordem dos parâmetros exigidos, bem como o construtor especial que você pode querer em uma determinada situação. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 53/74
54 Exemplo III Uma alternativa que você tem para o construtor Telescoping padrão é o padrão JavaBean quando você chamar um construtor com os parâmetros obrigatórios e, em seguida, ligar para qualquer setters opcional depois: 1 Pizza pizza = new Pizza(12); 2 pizza.setcheese(true); 3 pizza.setpepperoni(true); 4 pizza.setbacon(true); Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 54/74
55 Exemplo IV O problema aqui é que porque o objeto é criado durante várias chamadas, pode estar em um estado inconsistente partway através de sua construção. Isso também exige um grande esforço extra para garantir a segurança de discussão. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 55/74
56 Exemplo V Uma boa alternativa seria a utilização do padrão construtor (builder) 1 public class Pizza { 2 private int size; 3 private boolean cheese; 4 private boolean pepperoni; 5 private boolean bacon; 6 public static class Builder { 7 private final int size; 8 private boolean cheese = false; 9 private boolean pepperoni = false; 10 private boolean bacon = false; 11 public Builder(int size) { 12 this.size = size; 13 } 14 public Builder cheese(boolean value) { 15 cheese = value; 16 return this; 17 } 18 public Builder pepperoni(boolean value) { 19 pepperoni = value; 20 return this; 21 } 22 public Builder bacon(boolean value) { 23 bacon = value; 24 return this; Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 56/74
57 Exemplo VI 25 } 26 public Pizza build() { 27 return new Pizza(this); 28 } 29 } 30 private Pizza(Builder builder) { 31 size = builder.size; 32 cheese = builder.cheese; 33 pepperoni = builder.pepperoni; 34 bacon = builder.bacon; 35 } 36 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 57/74
58 Exemplo VII Note que a Pizza é imutável e que os valores dos parâmetros estão todos em um único local. Como construtor setter métodos de devolver o objeto Builder eles são capazes de ser acorrentado. 1 Pizza pizza = new Pizza.Builder(12).cheese(true).pepperoni(true).bacon(true).build(); Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 58/74
59 Exemplo VIII Isso resulta em um código que é fácil escrever e muito fácil de ler e compreender. Neste exemplo, o método de construção pode ser modificado para verificar os parâmetros após terem sido copiados a partir do construtor para o objeto Pizza e lançar uma IllegalStateException se um parâmetro inválido valor foi fornecido. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 59/74
60 Exemplo IX Este modelo é flexível e é fácil adicionar mais parâmetros para ele no futuro. É realmente só é útil se você está indo ter mais de 4 ou 5 parâmetros de um construtor. Dito isto, poderá ser útil em primeiro lugar, se você suspeitar que você pode estar adicionando parâmetros mais no futuro. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 60/74
61 O Padrão Prototype I É um padrão de projeto que permite a criação de objetos a partir de um modelo original, ou seja, foi criado com o objetivo de especificar os tipos de objetos a serem criados usando uma instância-protótipo e criar novos objetos pela cópia desse protótipo. Efetivamente, cada objeto é um factory especializado em construir objetos iguais a si mesmo. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 61/74
62 Estrutura I O padrão Prototype contém os seguintes elementos: Prototype uma classe que declara uma interface para objetos capazes de clonar a si mesmo; Prototype concreto implementação de um prototype; Cliente cria um novo objeto através de um prototype que é capaz de clonar a si mesmo. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 62/74
63 Estrutura II Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 63/74
64 Estrutura III O padrão Prototype exige a implementação de uma operação de clonagem em cada uma das classes concretas do protótipo. Esta tarefa pode ser inconveniente, no caso do reaproveitamento de classes pré-existentes que não possuem tal operação, ou mesmo complexa, se for considerada a possibilidade de existirem referências circulares nos atributos de um objeto (um objeto possui um atributo que referência um objeto que, por sua vez, referência o objeto original). Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 64/74
65 Estrutura IV O padrão Prototype pode ser utilizado em sistemas que precisam ser independentes da forma como os seus componentes são criados, compostos e representados. O padrão Prototype pode ser útil em sistemas com as seguintes características: Sistemas que utilizam classes definidas em tempo de execução; Sistemas que utilizam o padrão Abstract Factory para criação de objetos. Neste caso, a hierarquia de classes pode se tornar muito complexa e o padrão Prototype pode ser uma alternativa mais simples, por realizar a mesma tarefa com um número reduzido de classes; Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 65/74
66 Estrutura V Sistemas que possuem componentes cujo estado inicial possui poucas variações e onde é conveniente disponibilizar um conjunto pré-estabelecido de protótipos que dão origem aos objetos que compõem o sistema. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 66/74
67 Quando usar? I Use o padrão Prototype quando um sistema tiver que ser independente de como os seus produtos são criados, compostos e representados e: Quando as classes a instanciar forem especificadas em tempo de execução, por exemplo, por carga dinâmica; Para evitar a construção de uma hierarquia de classes de fábricas paralela à hierarquia de classes de produto; Quando as instâncias de uma classe puderem ter uma dentre poucas combinações diferentes de estados. Pode ser mais conveniente instalar um número correspondente de protótipos e cloná-los, ao invés de instanciar a classe manualmente, cada vez com um estado apropriado. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 67/74
68 Desvantagem I Cada subclasse de Prototype deve implementar a operação clone, o que pode ser difícil. Por exemplo, acrescentar clone é difícil quando as classes consideradas já existem. A implementação de clone pode ser complicada quando uma estrutura interna da classe inclui objetos que não suportam operação de cópia ou têm referencias circulares. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 68/74
69 Padrão Singleton I O padrão Singleton é um padrão que ajuda a criar objetos que podem possuir uma única instância no sistema. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 69/74
70 O Problema I Quando se possui elementos que são compartilhados entre módulos do sistema e não é admissível que hajam duas cópias de objetos pois as informações devem ser comuns e a manutenção deve ser compartilhada. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 70/74
71 A Solução I Criar um objeto que não possa ser instanciado diretamente ou que possua um mecanismo de contagem de instâncias para se evitar que se crie um número de instâncias maior do que uma. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 71/74
72 Exemplo I Uma das aplicações seria o compartilhamento de uma conexão com o banco de dados, porém, sem manter uma instância até que haja seu primeiro uso. Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 72/74
73 Código Java I Em Java, é possível criar um Singleton criando um ou mais construtores privados. Deve-se ser criado pelo menos um construtor privado, caso o contrário o compilador Java criará um construtor público. 1 class ExemploSingleton{ 2 3 ExemploSingleton instancia = null; 4 5 private ExemploSingleton(){ 6 } 7 8 public static ExemploSingleton getinstance(){ 9 if (instancia == null) 10 instancia = new ExemploSingleton(); return instancia; 13 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 73/74
74 Código Java II 14 } Prof. Fabrízzio Alphonsus A. M. N. Soares Padrões de Projeto - II 74/74
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 maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 10 Padrões GoF (Protoype e Façade) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton
Leia maisProgramaçã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 maisSingleton 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 maisPadrões Fábrica. Simple Factory Factory Method
Universidade Federal de Uberlândia Faculdade de Computação Disciplina: POO2 Prof. Fabiano Azevedo Dorça Padrões Fábrica Simple Factory Padrões Fábrica Padrão Simple Factory: fornece interfaces para criar
Leia maisPadrõ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 maisEsta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java
Leia maisEtapas principais do desenvolvimento de software Padrões arquiteturais Padrões de projeto
Etapas principais do desenvolvimento de software Padrões arquiteturais Padrões de projeto 1 Criar aplicações não é apenas escrever código (code and fix) Atualmente as aplicações exigem arquiteturas e código
Leia maisUniversidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI CCO002 Engenharia de Software
UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI CCO002 Engenharia de Software Enzo Seraphim 1 Padrões de Construção A maneira
Leia maisProgramaçã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 maisJava para Desktop. Programação Orientada à Objetos 2 JSE
Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona
Leia mais9 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 maisAná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 maisProgramaçã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 maisNotação de Classes e Objetos
Padrões Criacionais Notação Notação de Classes e Objetos referencia objeto ClasseAbstrata agrega um ClasseConcreta operaçãoabstrata() cria muitos SubclasseConcreta1 operação() variáveldeinstância SubclasseConcreta2
Leia maisParadigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
Leia maisProgramaçã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 maisLição 11 Herança, polimorfismo e interfaces
Lição 11 Herança, polimorfismo e interfaces 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Definir superclasses e subclasses Criar Override de métodos de superclasses Criar métodos e classes
Leia maisInterfaces e Classes Abstratas
Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos
Leia maisInterfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Interfaces Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em
Leia maisSingleton. Como a maioria dos programadores organizaria o código para acessar informação de configuração? Eis um exemplo:
Introdução Como a maioria dos programadores organizaria o código para acessar informação de configuração? Eis um exemplo: public class Config { public static final String DEFAULT_READ_COMMUNITY_NAME =
Leia maisProgramação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN
Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação
Leia maisTó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 maisProgramação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Leia maisCreational 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 mais4 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 maisFactory Pattern. SISMO - Sistemas e Mobilidade Junho de Departamento de Informática / UFMA
Factory Pattern SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br Departamento de Informática / UFMA Junho de 2008 Do que vamos tratar? Criação de objetos não é simplesmente usar o operador
Leia maisPROGRAMAÇÃ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 maisLinguagem 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 maisAbstract 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 maisComputação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:
Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 11 Padrões GoF (Bridge e Decorator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton
Leia maisPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho
Leia maisInterfaces 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 maisRecapitulando. 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 maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Herança Aula de Hoje Problema Considere uma empresa que tenha tipos de empregados no aplicativo de folha de pagamento Um empregado tem nome,
Leia maisLista 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 maisProgramação Orientada a Objetos II
Programação Orientada a Objetos II Prof. Walter Gima walter.gima@anhanguera.com 1 Interfaces Polimorfismo 2 Agenda Interfaces Interfaces x Classes Abstratas Polimorfismo Herança Múltipla 3 Interfaces São
Leia maisLinguagem 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 maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for
Leia maisPolimorfismo. O que é polimorfismo?
O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus
Leia maisLinguagem 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 maisHeranç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 maisUNIVERSIDADE 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 maisPadrão de projeto de software
Padrão de projeto de software Paulo Venancio Lopes e Daniel Sguillaro Nome Roupa Suja Se Lava Em Casa. Intenção Dar maior capacidade e flexibilidade ao conceito de entidade (no contexto de persitência
Leia maisProgramação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos
Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?
Leia maisCOMPORTAMENTOS - Observações
COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para
Leia maisAula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU
Aula 10 POO 1 Classes Abstratas Profa. Elaine Faria UFU - 2019 Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato
Leia maisConceitos 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 maisProgramaçã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 maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Leia maisPara 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 maisJava First-Tier: Aplicações. Herança: Simples Múltipla. Orientação a Objetos em Java (III) Problemas de Herança Múltipla.
Java First-Tier: plicações Orientação a Objetos em Java (III) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Herança: Simples Múltipla O tipo de herança que usamos até agora é chamado
Leia maisIntrodução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.
Introdução Atributos, métodos e encapsulamento joao@ecomp.uefs.br Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências
Leia maisQuando 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 maisProgramação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
Leia maisPadrões de Projeto. Parte 1. Prof. Fellipe Aleixo
Padrões de Projeto Parte 1 Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Padrões de Projeto de Software OO Também conhecidos como Padrões de Projeto de Software OO ou simplesmente como Padrões A Inspiração
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)
Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado
Leia maisProgramaçã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 maisProgramação Orientada a Objetos
Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br
Leia maisnome = 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 maisOrientação a Objetos AULA 09
Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este
Leia maisInterfaces e Classes Internas
e Classes Internas 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 maisAlgoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):
Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de
Leia maisProgramação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
Leia maisCIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO
REVISÃO POO INTRODUÇÃO À LINGUAGEM JAVA CRIANDO CLASSES EM JAVA Convenção de Nomes em Java Classes iniciam com letras maiúsculas Métodos, atributos e variáveis locais iniciam com minúsculas. Declaração
Leia maisStrings e Arrays POO
Strings e Arrays POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/27 String Uma sequência de caracteres que representa uma informação textual Em Java existe um
Leia maisProgramaçã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 maisINF011 Padrões de Projeto. 04 Builder
INF011 Padrões de Projeto 04 Builder 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 maisProgramaçã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 maisPadrões de Projeto. Factory Method
Tópicos Avançados em Linguagem de Programação Padrões de Projeto Prof. Alexandre Vidal DEINF-UFMA Classificação: Propósito: Criacional Escopo: Objetos Intenção: Construção Intenção: define uma interface
Leia maisClasses e Objetos POO
Classes e Objetos POO Prof. Marcio Delamaro 1/40 POO (wikipedia) Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which are data structures that contain data,
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 9 Tratamento de Exceções Assertivas 1 Programa Capítulo 9 Tratamento
Leia mais1 Introdução e Conceitos básicos
1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2
Leia maisCONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que
Leia maisINF011 Padrões de Projeto. 05 Factory Method
INF011 Padrões de Projeto 05 Factory Method 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 maisConceitos Básicos da Programação OO
Conceitos Básicos da Programação OO Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Objetivos Aprender os
Leia maisLinguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas
Leia maisINF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 9 Tratamento de Exceções Assertivas Programa Capítulo
Leia maisLinguagens 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 maisProgramação por Objectos. Java
Programação por Objectos Java Parte 7: Interfaces LEEC@IST Java 1/31 Interfaces revisão (1) Uma interface é um conjunto de protótipos de métodos (sem implementações) que especifica um serviço bem definido:
Leia maisAtributos 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 maisVB.NET - Orientação a objetos : conceitos básicos em 10
lições. VB.NET - Orientação a objetos : conceitos básicos em 10 Lição 1 - Como criar classe e métodos. Instanciando um objeto e acessando o método da classe. - Para criar uma classe basta usar a palavra
Leia maisEspecialização em web com interfaces ricas. Boas Práticas de Programação
Especialização em web com interfaces ricas Boas Práticas de Programação Prof. Fabrízzio Alphonsus A. M. N. Soares fabrizzio@inf.ufg.br professor.fabrizzio@gmail.com Instituto de Informática Universidade
Leia maisModificadores de Acesso e Atributos de Classe
Modificadores de Acesso e Atributos de Classe 1 Controlando o acesso p Um dos problemas mais simples que temos no nosso sistema de contas é que o método saca permite sacar mesmo que o limite tenha sido
Leia maisClasses e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto
Leia maisProgramaçã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 maisLaboratório de programação II
Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando
Leia maisProgramação Orientada a Objetos em Java
Programação Orientada a Objetos em Java Conceitos: Classe, Variável de Instância ou Atributos, Métodos, Objeto, Variáveis Estáticas ou de Classe, Construtores, Construtores Sobrecarregados, Herança, Polimorfismo,
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Variáveis e Métodos de Classe Em Java, quer as classes quer as instâncias das classes são objectos. Onde está o estado da classe? Com que operações é manipulado? UBI, Departamento de Informática T04-1
Leia maisSistemas de Objetos DistribuídosPrimeira Aplicação Java ORB p.1/21
Sistemas de Objetos Distribuídos Primeira Aplicação Java ORB Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosPrimeira Aplicação
Leia maisEncapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos
Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;
Leia maisNotas de Aula 09: Tratamento de exceções
Notas de Aula 09: Tratamento de exceções Objetivos da aula: Compreender o conceito de exceção Aprender a tratar exceções nos programas Entender a hierarquia das exceções Criar e lançar uma exceção proprietária
Leia mais