ChrisEvaristo / Padr-o-Factory-Methood

0 stars 0 forks source link

Outro exemplo de Factory Method #2

Open ChrisEvaristo opened 3 years ago

ChrisEvaristo commented 3 years ago

public class Margarida implements FlorIF {

@Override public void criarFlor(); { System.out.println("Uma Margarida foi criada...");

}

}

public class Margarida implements FlorIF {

@Override public void criarFlor(); { System.out.println("Uma Margarida foi criada...");

}

}

public class Rosa Implements FlorIF {

@Override public void criarFlor(){ System.out.println("Uma Rosa foi criada..."); } }

public static void main(String[]args){

FlorFactory tipoFlor = new FlorFactory();

FlorIF minhaFlor = tipoFlor.gerarFlor("rosa"); minhaFlor.criarFlor();

minhaFlor = tipoFlor.gerarFlor("maragarida"); minhaFlor.criarFlor();

minhaFlor = tipoFlor.gerarFlor("orquidea"); minhaFlor.criarFlor();

}

public class FlorFactory {

public FlorIF gerarFlor (String Flor){

if(flor =="" || flor == null){
  return null
}
if(flor.toUpperCase().equals ("Rosa")){
  return new Rosa();

}else if (flor.toUpperCase().equals("Margarida")){
  return new Margarida();

}else if (flor.toUpperCase().equals("Orquidea")){
  return new Orquidea();

}

} return null;

}

public interface FloriF {

public void criarFlor();

}

public class Orquidea implements FlorIF {

@Override public void criarFlor(){ System.out.println("Uma Orquidea foi criada..."); } }

ChrisEvaristo commented 3 years ago

A intenção seria criar fabrica de Método e podendo criar diferentes produtos, ou seja a partir de único método por gerar Flor e criar vários de Flor. Então primeiramente define a interface FlorIF, nesse caso estamos querendo criar vários tipos de flor, portanto terão método criarFlor, e temos classe FlorFactory gerarFlor. Temos classe principal o DemoFactoryMethod que tem métdo main.