【发布时间】:2018-03-09 08:33:46
【问题描述】:
我正在使用一个接口很大的库
interface IOrder{
cutomerId: number;
deliveryAddress1: string;
// and lots of properties...
}
我想实现一个扩展它的类。
只是想确认是否有必要重新声明所有属性。
class Order implements IOrder{
cutomerId: number;
/* error: Class 'Order' incorrectly implements interface 'IOrder'.
Property 'deliveryAddress1' is missing in type 'Order'
*/
}
当然,需要实现方法,但我发现重新声明属性是多余的。我错过了什么吗?
【问题讨论】:
-
您可能缺少某种抽象类。无论如何,这么大的接口是针对Interface Segregation Principle 的。这也表明抽象性很差,也可能意味着 Single Responsibility Principle 违规。
标签: typescript interface implementation