我有两个interface
定义如下。
interface TitleFont{
fontFamily:string;
fontStyle:string;
size:string; \\ need only for the tilte property.
opacity:number;
}
interface ChartFont{
fontFamily:string;
fontStyle:string;
opacity:number;
}
我班级的两个属性是定义的接口类型
class Chart {
title: TitleFont;
chartTitle: ChartFont;
}
与ChartFont相比,尺寸是TilteFont中添加的额外属性。有没有办法定义一个接口并将其用于属性。
提前致谢
答案 0 :(得分:1)
此处不会使用继承并从TitleFont
扩展ChartFont
interface ChartFont{
fontFamily:string;
fontStyle:string;
opacity:number;
}
interface TitleFont extends ChartFont {
size:string; \\ need only for the tilte property.
}
我们仍然有两个接口,但在很多情况下,我们只能使用基本的(ChartFont)这样
var fontSetting1 : ChartFont = Chart.title
var fontSetting2 : ChartFont = Chart.chartTitle
...
// follows common behaviour for ChartFont interface
...
如果以后需要,我们可以提升:
var titleFontSetting : TitleFont = <TitleFont>fontSetting1;