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]
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
Curtir tópico
+ 0
Responder
Posts
19/06/2015
Dorivan Sousa
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)