Fórum abstract factory delphi #522482

11/06/2015

0

Olá.

como usar o pattern abstract factory em delphi ?!

nao estou conseguindo de jeito nenhum...
para mim está impossível de consegui...

o código abaixo é um exemplo em java do abstract factory...
para simplificar, o código relacionado às janelas foi omitido...

no delphi, eu consegui fazer todas as classe, menos a abstract class WidgetFactory

o que nao estou conseguindo é fazer a WidgetFactory criar as subclasses...

poderiam me ajudar ?!


[img]http://arquivo.devmedia.com.br/forum/imagem/360058-20150611-084045.png[/img]

abstract class WidgetFactory
 {
     public static WidgetFactory obterFactory()
     {
 
         if( Configuracao.obterInterfaceGraficaAtual() == Configuracao.MotifWidget )
         {
             return new MotifWidgetFactory();
         }
         else
         {
             return new QtWidgetFactory();
         }
    }
 
    public abstract Botao criarBotao();
 }
 
 class MotifWidgetFactory extends WidgetFactory
 {
     public Botao criarBotao()  {
         return new BotaoMotif();
     }
 }
 
 class QtWidgetFactory extends WidgetFactory
 {
     public Botao criarBotao()  {
         return new BotaoQt();
     }
  }
 
 abstract class Botao
 {
     public abstract void desenhar();
 }
 
 class BotaoMotif extends Botao
 {
     public void desenhar()  {
        System.out.println("Eu sou um botao Motif!");
     }
 }
 
 class BotaoQt extends Botao
 {
     public void desenhar()  {
        System.out.println("Eu sou um botao Qt!");
     }
 }
 
 public class Cliente
 {
     public static void main(String[] args)
     {
         WidgetFactory factory = WidgetFactory.obterFactory();
 
         Botao botao = factory.criarBotao();
         botao.desenhar();
     }
 }
Felipe Barros

Felipe Barros

Responder

Posts

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar