Object monterObjet(Enum type, Object[] param)
Object x = objectConcret1( for(Object o : param) (?)Object x = o; );
public final class Fabrique { public static Abstraite monterObjet(Enum type, Object...param) { switch (type) { case objetConcret1 : return new Concret1(param); case objetConcret2 : return new Concret2(param); default : return null; } } } public abstract class Abstraite { public Abstraite(Object attrib1, Object attrib2, Object attrib3) { this.attrib1 = (String) attrib1; this.attrib2 = (Integer) attrib2; this.attrib3 = (Double) attrib3; } } public class Concret1 extends Abstraite { public Concret1(Object attrib1, Object attrib2, Object attrib3, Object attrib4, Object attrib5) { super(attrib1, attrib2, attrib3); this.attrib4 = (Long) attrib4; this.attrib5 = (String) attrib5; } public Concret1(Object[] param) { this(param[0], param[1], param[2], param[3], param[4]); } } public class Concret2 extends Abstraite { public Concret2(Object attrib1, Object attrib2, Object attrib3, Object attrib6, Object attrib7) { super(attrib1, attrib2, attrib3); this.attrib6 = (Byte) attrib6; this.attrib7 = (Short) attrib7; } public Concret1(Object[] param) { this(param[0], param[1], param[2], param[3], param[4]); } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question