有使用接口创建类模型的感觉吗?

时间:2019-09-11 15:11:35

标签: typescript typescript2.0

界面为:

export interface IAddEditGeneralDictionary {
      Code: string;
      StartDate?: Date | string;
      FinishDate?: Date | string;
      Name: string;
    }

实现是:

export class AddEditGeneralDictionary implements IAddEditGeneralDictionary {
  constructor(public Code: string,
    public StartDate: Date | string,
    public FinishDate: Date | string,
    public Name: string){
}

我试图将属性设置为私有并使用set/get,但是界面不允许我这样做。

使用接口构建模型类有意义吗?

1 个答案:

答案 0 :(得分:2)

接口是不同组件/实体进行通信的共享边界。它应该是公开的,以便用户从界面调用具体类时知道他们的期望。

任何私有属性或方法都是实现细节。只需在具体课程中进行即可。

例如

interface Vehicle {
  start(): void;
}

class Car implements Vehicle {
  private engine;
  private wheels;
  public start(): void {}
}

class Jet implements Vehicle {
  private engine;
  private airframe;
  public start(): void {}
}

实现可以自由定义私有属性,但是私有属性在接口中不是很有用。