I'm making API.
Assume that the unique constructor of class A has the parameter int num.
If we define class B extends A, any constructor of class B should call super(int).
My question is, if class B receives another types through its constructor, for instance, public B(String[] names, double coef), how can I pre-generate int num from String[] names, double coef before call super(int)?
In one line, How can I design a constructor of child class of different form from parent class?
I tried
public class B extends A {
private String[] names;
private double coef;
public B(String[] names, double coef) {
super(convertToNum(names, coef));
this.names = names;
this.coef = coef;
}
public static int convertToNum(String[] names, double coef) {
// Logic for converting params to integer
return num;
}
}
but I think this is not a right design of OOP.
Is there any useful design pattern for this case?
Aucun commentaire:
Enregistrer un commentaire