25. コードで書くと
class MS{}
class Zaku extends MS{}
class CharZaku extends Zaku{}
interface Factory{
orderZaku(orderName:string):MS;
}
class ZakuFactory implements Factory{
orderZaku(orderName:string){
if(orderName=="Char"){
return new CharZaku();
}else{
return new Zaku();
}
}
}
26. Overload on Constantsで書くと
class MS{}
class Zaku extends MS{}
class CharZaku extends Zaku{}
interface Factory{
orderZaku(orderName:string):Zaku;
orderZaku(orderName:"Char"):CharZaku;
}
class ZakuFactory implements Factory{
orderZaku(orderName:string){
return new Zaku();
}
orderZaku(orderName:"Char"){
return new CharZaku();
}
}