class BudincăDeGriş extends Prăjitură { ArrayList Ingrediente = new ArrayList(); public BudincăDeGriş(int NrPorţii) throws Exception, PrajiturăTerminată { Griş griş; Lapte lapte; Zahăr zahărTos, zahărPudra, zahărVanilat; Unt unt; CoajăLămâie coajăLămâie; OuăCollection ouă; griş = new Griş(150, SI.GRAM); lapte = new Lapte(1, SI.LITRU); unt = new Unt(100, SI.GRAM); zahărTos = new ZahărTos(3, Units.LINGURĂ); zahărPudră = new ZahărPudră(150, SI.GRAM); zahărVanilat = new ZahărVanilat(1, Units.LINGURĂ); for (int i = 0; i < 4; i++) { ouă.add(new Ou()); } Ingrediente.add(griş); Ingrediente.add(lapte); Ingrediente.add(unt); Ingrediente.add(coajăLămâie); Ingrediente.add(zahărTos); Ingrediente.add(zahărPudră); Ingrediente.add(zahărVanilat); Ingrediente.addAll(oua); Ingrediente.trimToSize(); do { Aragaz.Fierbe(lapte, Foc.MEDIU); } while (lapte.Temperatura < 100); lapte.add(griş); do { lapte.Amesteca(); } while (!lapte.aFiert()); // laptele cu griş se lasă să se răcească lapte.Racire(); Gălbenuş gălbenuş = ouă.Separă(Ou.GĂLBENUŞ); Albuş albuş = ouă.Separă(Ou.ALBUŞ); zahărTos.add(gălbenuş); zahărTos.Freacă(); albuş.BateSpuma(); // containerul pentru tot amestecul Cratiţă cratiţă = new Cratiţă; cratiţă.Unge(unt); cratiţă.add(zahărTos); cratiţă.add(lapte); cratiţă.add(zahărVanilat); cratiţă.add(albuş); cratiţă.add(coajăLămâie); try { Cuptor.Coace(cratiţă, Foc.MEDIU); } catch (CuptorCoacereException e) { // când procesul de coacere s-a terminat cratiţă.add(zahărPudră); throw new PrăjiturăTerminatăException(cratiţă); } } }try { BudincăDeGriş b = new BudincăDeGriş(4); } catch (Exception e) { System.out.println(e.getMessage()); } catch (PrăjiturăTerminată p) { System.out.println("Poftă bună"); } // JCook v0.1 beta
Prăjitură p = new BudincăDeGriş();
