Padrões Fábrica. Simple Factory Factory Method
|
|
|
- Irene Soares Alcântara
- 8 Há anos
- Visualizações:
Transcrição
1 Universidade Federal de Uberlândia Faculdade de Computação Disciplina: POO2 Prof. Fabiano Azevedo Dorça Padrões Fábrica Simple Factory
2 Padrões Fábrica Padrão Simple Factory: fornece interfaces para criar objetos sem expor a lógica de criação para o cliente. Padrão : fornece interfaces para criar objetos, mas permite que subclasses determinem qual classe instanciar. Padrão Abstract Factory: permite criar famílias de objetos relacionados sem expor as suas classes.
3 Simple Factory Simple factory: Visa encapsular a criação de objetos em um método. Isto permite manter em um único local comandos new ClasseConcreta(). Desacopla o cliente dos objetos que deseja criar. Permite ao cliente transferir a responsabilidade de instanciação de objetos complexos a uma fábrica.
4 Simple Factory Evita modificação de código quando novas classes são criadas Evita modificação de código quando a forma de instanciar objetos é modificada. Exemplo: novos decoradores são criados, afetando vários pontos do código. Facilita manutenção de código já que a replicação de código de instanciação está em um único local.
5 Simple Factory Participantes: Client: requisita objetos à fábrica; SimpleFactory: recebe requisiçoes do cliente e devolve objetos instanciados; Product Interface: interface que representa os produtos a serem criados pela fábrica; Concrete Product: classes concretas representando os produtos a serem instanciados pela fábrica.
6 Simple Factory
7 Simple Factory
8 Fábrica de pizza Classe abstrata Freeman. Padrões de Projeto Use a Cabeça.
9 Freeman. Padrões de Projeto Use a Cabeça.
10 Freeman. Padrões de Projeto Use a Cabeça.
11 Freeman. Padrões de Projeto Use a Cabeça.
12 Simple Factory Exemplo: Uma fábrica de personagens public class SimplePersonagemFactory{ public [static] Personagem createpersonagem(int tipo){ Personagem p = null; if (tipo == 1) p = new Mago(); else if (tipo ==2) p = new Feiticeiro(); else if (tipo == 3) p = new Campones(); else p = new Lanceiro; return p;
13 Simple Factory Exemplo: Uma fábrica de personagens com ataques decorados com armas especificas public class SimplePersonagemFactory{ public [static] Personagem createpersonagem(int tipo){ Personagem p = new Personagem(); if (tipo == 1) //mago p.setataque(new Magia(new Ataque1())); else if (tipo ==2) //feiticeiro p.setataque(new Feitico(new Ataque2())); else if (tipo == 3) //campones p.setataque(new Facao(new Ataque3())); else p = new Lanceiro; return p;
14 Simple Factory Exemplo: Uma fábrica de personagens com diversos métodos de criação public class SimplePersonagemFactory{ public [static] Personagem createmago(){ return new Mago(); public [static] Personagem createfeiticeiro(){ return new Feiticeiro(); public [static] Personagem createcampones(){ return new Campones();
15 Simple Factory Exemplo: Uma fábrica de personagens com estratégias public class SimplePersonagemFactory{ public [static] Personagem createpersonagem(int tipo){ Personagem p = new Personagem(); if (tipo == 1) { p.setataque(new AtaqueFraco()); p.setcorrida(new CorridaRapida()); else if (tipo ==2) { p.setataque(new AtaqueForte()); p.setcorrida(new CorridaLenta());.. return p;
16 Simple Factory Algumas possibilidades incluem: a geração automática randomica dos personagens. a modificação da forma de instanciação de um objeto sem alteração do restante do código
17 Simple Factory Conclusões Além de evitar problemas de manutenção futuros, o padrão simple factory abre novas possibilidades relacionadas à instanciação de objetos. Facilita a implementação quando a classe concreta a ser instanciada é definida em tempo de execução. Evita problemas quando o código que instancia objetos é uma área de mudanças frequentes. Evita duplicação de código de instanciação e fornece um local único para fazer a manutenção. Encapsula a instanciação de objetos complexos, como cadeias, decorators, composites, etc.
18 * Define uma interface para instanciação de objetos, mas deixa as subclasses decidirem que classes instanciar. * Permite a uma classe postergar a instanciação às subclasses. * Regra: Criar objetos numa operação separada de modo que subclasses possam redefinir a maneira como eles são criados. * Essa regra permite que projetistas de subclasses possam mudar a classe de objetos que a classe ancestral instancia.
19 Aplicabilidade Use o padrão factory method quando: * Uma classe não pode antecipar a classe de objetos que deve criar; * Uma classe quer que suas subclasses especifiquem os objetos que criam.
20 Participantes: As classes e/ou objetos que participam do padrão são: Product: Define uma interface de objetos que o método-fábrica cria. ConcreteProduct: Implementa a interface Product, criando um produto concreto. Creator: Declara o método-fábrica, que retorna um objeto do tipo Product. ConcreteCreator: Sobrescreve o método-fábrica para retornar uma instância de ConcreteProduct.
21 Diagrama
22 Na construção de frameworks... * Os factory methods eliminam a necessidade de anexar classes específicas das aplicações cliente no código do framework. * O código lida somente com interface Product. * Portanto ele pode trabalhar com quaisquer classes ConcreteProduct definidas pelo usuário.
23 Freeman. Padrões de Projeto Use a Cabeça.
24 Freeman. Padrões de Projeto Use a Cabeça.
25 Consequências importantes: Fornece ganchos para subclasses. * Criar objetos dentro de uma classe com um método fábrica é sempre mais flexível do que criar um objeto diretamente. * Factory method dá às classes um gancho para que se possa implementar diferentes versões da fábrica.
26 Implementação: Três variações principais: (1) o caso em que a classe Creator é uma classe abstrata e não fornece uma implementação para o método fábrica que ele declara. (2) o caso em que o Creator é uma classe concreta e fornece uma implementação default para o método fábrica. (3) o caso em que o Creator é uma classe abstrata que define uma implementação default para o método fábrica.
27 Exemplo: public abstract class Game{ public Personagem createpersonagem(int tipo); public void Jogar(){ //logica de execução (controller) Personagem p1 = createpersonagem(1); Personagem p2 = createpersonagem(2); p1.atarcar(p2); p1.correr(); p2.atacar(p1);
28 public class TradicionalGame extends Game{ public Personagem createpersonagem(int tipo){ Personagem p = new Personagem(); if (tipo == 1) { p.setataque(new AtaqueFraco()); p.setcorrida(new CorridaRapida()); else if (tipo ==2) { p.setataque(new AtaqueForte()); p.setcorrida(new CorridaLenta());.. return p;
29 public class AdvancedGame extends Game{ public Personagem createpersonagem(int tipo){ Personagem p = new Personagem(); if (tipo == 1) { p.setataque(new PoderFogo(new AtaqueFraco())); p.setcorrida(new CorridaRapida()); else if (tipo ==2) { p.setataque(new PoderVento(AtaqueForte())); p.setcorrida(new CorridaLenta());.. return p;
30 Exemplo: Framework para manipulação de diferentes tipos de documentos.
31
32 // Product abstract class Page { public void print() { System.out.println(this.getClass().getName()); // ConcreteProducts class SkillsPage extends Page {... // ConcreteProduct class EducationPage extends Page {... // ConcreteProduct class ExperiencePage extends Page {...
33 // ConcreteProduct class BibliographyPage extends Page {... // ConcreteProduct class ResultsPage extends Page {... // ConcreteProduct class ConclusionPage extends Page { // ConcreteProduct class IntroductionPage extends Page {... // ConcreteProduct class SummaryPage extends Page {...
34 // Creator public abstract class Document{ private ArrayList<Page> pages; public void novo(){ pages = createpages(); public void print() { for (Page p: pages) System.out.println(p.print()); protected abstract ArrayList<Page> createpages(); Factory method
35 // ConcreteCreator class Resume extends Document{ protected ArrayList<Page> createpages() { ArrayList<Page> pages = new ArrayList<Page>() pages.add (new SkillsPage()); pages.add (new EducationPage()); pages.add (new ExperiencePage()); return pages;
36 // ConcreteCreator class Report extends Document { protected ArrayList<Page> createpages() { ArrayList<Page> pages = new ArrayList<Page>() pages.add (new IntroductionPage()); pages.add (new ResultsPage()); pages.add (new ConclusionPage()); pages.add (new SummaryPage()); pages.add (new BibliographyPage()); return pages;
37 // Client class Test { public static void main( String[] args) { Document docs; docs = new Resume(); docs.novo(); docs.print();. docs = new Report(); docs.novo(); docs.print();...
38 Vantagem... O framework pode ser facilmente expandido com novos tipos de documentos através do gancho dado pelo método fábrica.
39 Freeman. Padrões de Projeto Use a cabeça.
40 Conclusão * Todos os padrões factory encapsulam a criação de objetos. * O padrão factory method encapsula a criação de objetos deixando as subclasses decidirem quais objetos concretos criar.
41 Fim!
Factory 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
Padrõ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
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,
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
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
Universidade 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
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
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(){
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 [email protected] 12 Março 2012 Programação orientada a objetos Reuso de
Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva [email protected] br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
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
Introduçã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 [email protected] Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências
UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Herança e Polimorfismo
Herança e Polimorfismo 2013 O que veremos hoje? Herança e polimorfismo Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Polimorfismo em POO Mais
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
Classe Abstrata e Interface
Orientação a objetos com Java Classe Abstrata e Interface Byron Leite [email protected] 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public
Java 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
nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){
UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------
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
Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:
Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)
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
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
Encapsulamento 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 [email protected] Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;
CONCEITOS 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
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
Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Interfaces. 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 [email protected] Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em
Algoritmos 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
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
Computação II - Java - Teste 1.2 Prof. Adriano Joaquim de Oliveira Cruz 2015/04/27
1. Defina os sequintes termos: (a) (1 Ponto) Polimorfismo Computação II - Java - Teste 1.2 Prof. Adriano Joaquim de Oliveira Cruz 2015/04/27 (b) (1 Ponto) Sobrescrita de funções (c) (1 Ponto) Sobrecarga
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?!
INF011 Padrões de Projeto. 03 Abstract Factory
INF011 Padrões de Projeto 03 Abstract Factory Sandro Santos Andrade [email protected] Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação
Herança e Propriedades
Herança e Propriedades 2013 O que veremos hoje? Herança e Propriedades Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Herança em POO Herança Herança
Análise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 05 Padrões GoF (Singleton e Iterator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype
Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira
Tratamento de Erros Sérgio Luiz Ruivace Cerqueira [email protected] Agenda Introdução Try, catch, finally Unchecked Exceptions Como levantar exceções Boas práticas O problema Calculadora numero1:
Liçã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
Profa. Thienne Johnson
Profa. Thienne Johnson 1 E. Gamma and R. Helm and R. Johnson and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. Addison- Wesley, 1995. GoF Design Patterns - with examples
UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra
Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes [email protected] 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Padrões GoF Strategy, Observer, Singleton, Abstract Factory e outros...
Padrões GoF Strategy, Observer, Singleton, Abstract Factory e outros... SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013 1 Mais Padrões GoF Strategy Observer
Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.
JAVA ENCAPSULAMENTO Na linguagem de programação Java, a classe é o alicerce para o encapsulamento, o qual é definido como uma técnica que faz com que os atributos da classe permaneçam ocultos, pois desta
Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Linguagem 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
Programação Estruturada e Orientada a Objetos
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: [email protected] [email protected]
Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos
Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis
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é [email protected] http://docente.ifsc.edu.br/mello/poo
Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.
2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam
E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O
E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O REVIEW CLASSES E INSTÂNCIAS. REVIEW - O OPERADOR THIS This faz referencia a métodos e atributos da própria classe REVIEW - EXEMPLO
Programação Orientada a Objetos Classes Abstratas. Sérgio Soares
Programação Orientada a Objetos Classes Abstratas Sérgio Soares [email protected] Até aqui Quando usar herança? Ao redefinir um método manter o comportamento herdado! 2 Adivinhem... Surge um novo requisito
Linguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
Relacionamentos entre objetos
Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores t e sobrecarga Variáveis de classe e de instância Reinaldo Gomes [email protected] Objetos
Linguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
Análise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 06 Padrões GoF (Factory Method e Abstract Factory) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method
Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU
Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações
Introdução à orientação a objetos. João Tito Almeida Vianna 18/05/2013
Introdução à orientação a objetos João Tito Almeida Vianna 18/05/2013 Roteiro Aula 1 Introdução: Programação estruturada x Orientação a objetos Orientação a objetos Classe e objeto Encapsulamento Herança
Polimorfismo. 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
POO UML e Outros Conceitos. Prof. Vicente Paulo de Camargo
Prof. Vicente Paulo de Camargo UML - INTRODUÇÃO UML = Unified Modeling Language = linguagem de modelagem de sistemas Permite especificar, visualizar e documentar modelos de software orientados a objetos
Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
POO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Herança Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José [email protected] http://docente.ifsc.edu.br/mello/poo 11 de setembro
Atributos e Métodos Estáticos
Atributos e Métodos Estáticos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Atributos Estáticos Atributos
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
Análise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 09 Padrões GoF (Adapter e Composite) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton
