package Ġcom . github . yu iz ho . abstract factory Ċ Ċ abstract Ġclass ĠP izza ( ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġd ough : ĠD ough , ĊĠĠĠĠĠĠĠ Ġval Ġsa uce : ĠS au ce , ĊĠĠĠĠĠĠĠ Ġval Ġche ese : ĠChe ese , ĊĠĠĠĠĠĠĠ Ġval Ġto pp ings : ĠList < V egg ies > Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġprepare () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Pre paring Ġ$ name ") ĊĠĠĠĠĠĠĠ Ġprintln (" To ss ing Ġ$ d ough ") ĊĠĠĠĠĠĠĠ Ġprintln (" Adding Ġ$ sa uce ") ĊĠĠĠĠĠĠĠ Ġprintln (" Adding Ġ$ che ese ") ĊĠĠĠĠĠĠĠ Ġprintln (" Adding Ġto pp ings : Ġ$ to pp ings ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcook () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" cook Ġa ĠP izza ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠChe ese P izza ( ingredient Factory : ĠP izza Ingredient Factory ) Ġ: ĠP izza ( ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ" NY ĠStyle ĠS ause Ġand ĠChe ese ĠP izza ", ĊĠĠĠĠĠĠĠ Ġd ough Ġ= Ġingredient Factory . create D ough (), ĊĠĠĠĠĠĠĠ Ġsa uce Ġ= Ġingredient Factory . create S au ce (), ĊĠĠĠĠĠĠĠ Ġche ese Ġ= Ġingredient Factory . create Che ese (), ĊĠĠĠĠĠĠĠ Ġto pp ings Ġ= Ġingredient Factory . create V egg ies () Ċ )