使用其所有值从父级实例创建子级实例

时间:2018-10-19 01:46:23

标签: typescript inheritance

我知道在大多数语言中这是不可能的,但是打字稿有一些非常有趣的技巧,因此我不会因为问而失去任何东西。

我想从父实例创建一个孩子,并自动分配其所有值。

我的例子:

我有一个父类,假设它是一个Error类。我无法访问构造它的那一刻,我只能从方法中得到它,我们称之为buildError()

现在,我上了课:

class CustomError extends Error {
  public changeMessage(newMessage:string):void{
    this.message = newMessage
  }
}

我想从其父类创建CustomError的实例。因为Error是一个复杂的类,所以我不想编写包装器,也不想复制其中包含的所有元素。

我也不想执行以下操作:

class CustomError {
  public readonly error:Error;
  constructor(er:Error){
    this.error = er;
  }
}

const myCustomError:CustomError = new CustomError(instanceOfError);

myCustomError.error.message = 'foo';

在Typescript中,是否可以传递父实例并自动分配其所有属性?

为澄清起见,我以Error为例,我不想扩展对象Error,我想通过自定义方法扩展Selenium的WebDriver项目。但是因为WebDriver非常复杂,所以我更喜欢使用扩展名而不是包装器。

0 个答案:

没有答案