下面是使用 TypeScript 语法取自Angular框架的示例代码(多态),
export abstract class AbstractControlDirective {
...
}
AbstractControlDirective
亚型
export abstract class NgControl extends AbstractControlDirective {
...
}
export abstract class ControlContainer extends AbstractControlDirective {
...
}
export declare abstract class ControlContainer extends AbstractControlDirective {
...
}
export declare abstract class NgControl extends AbstractControlDirective {
...
}
NgControl
亚型
export class NgModel extends NgControl implements OnChanges, OnDestroy {
...
}
export class FormControlDirective extends NgControl implements OnChanges {
....
}
export class FormControlName extends NgControl implements OnChanges, OnDestroy {
...
}
export declare class FormControlDirective extends NgControl implements OnChanges {
...
}
export declare class FormControlName extends NgControl implements OnChanges, OnDestroy {
...
}
export declare class NgModel extends NgControl implements OnChanges, OnDestroy {
...
}
一般来说,有很多情况会遇到新的需求,在类层次结构的中间层中添加明显的超类型,这会在子类型中注入破坏,除非使用某种设计模式。使用设计模式可以使类层次结构不易出错,但会破坏层次结构。
为了避免这个问题,我们可以在不使用extends
关键字的情况下保持这种层次结构吗?TypeScript 是结构类型的...