我正在尝试在 TypeScript 中创建一个类,如下所示:
它可以Array<Array<string>>
只接收一个,也可以接收多个参数(ancho : number
, blanco : string
, trozo : string
)
实现建议我使用sobrecarga de constructores
,但这是一个问题,因为在 TypeScript 中创建的构造函数必须是兼容的,所以我们必须使用所有类变量来实现构造函数,即使在该构造函数中没有明确需要它们,尽管它们可以被声明可选的(实际上实现了一个与所有其他构造函数兼容的构造函数,其他构造函数只是简单地声明):
class Piramide {
public array : Array<Array<String>> | Array<any>;
public ancho : number;
public blanco : string;
public trozo : string;
constructor(array : Array<Array<String>> | Array<any>, ancho? : number, blanco? : string, trozo? : string);
constructor(array : Array<Array<String>> | Array<any>, ancho : number, blanco : string, trozo : string){
if(!array){
this.ancho = ancho;
this.blanco = blanco;
this.trozo = trozo;
this.array = [];
}
else
this.array = array;
this.ancho = array.length;
...
}
...
}
有没有办法让这更容易理解和可读?
以下表格对我来说似乎干净而简单:
您可以通过检查构造函数中的数据类型来模拟“构造函数重载”。
可以使用接口,在声明可选参数时更加灵活。它既可以用作构造函数接收的参数,也可以用作实现它的类的原型:
插入