界面为:
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
,但是界面不允许我这样做。
使用接口构建模型类有意义吗?
答案 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 {}
}
实现可以自由定义私有属性,但是私有属性在接口中不是很有用。