當基類和繼承類都被標記為`@Service()`裝飾器時,**屬性**就支持繼承性。在創建時,繼承有裝飾屬性的類將收到這些屬性上的初始化類實例。
```
import 'reflect-metadata';
import { Container, Token, Inject, Service } from 'typedi';
@Service()
class InjectedClass {
name: string = 'InjectedClass';
}
@Service()
class BaseClass {
name: string = 'BaseClass';
@Inject()
injectedClass: InjectedClass;
}
@Service()
class ExtendedClass extends BaseClass {
name: string = 'ExtendedClass';
}
const instance = Container.get(ExtendedClass);
// instance的`name`屬性帶有 "ExtendedClass "值(覆蓋了基類)
// `injectedClass`屬性為`InjectedClass`類的實例
console.log(instance.injectedClass.name);
// 輸出"InjectedClass"
console.log(instance.name);
// 輸出 "ExtendedClass"
```