在Typescript中,继承和注入是两种不同的概念和实现方式。
extends
来实现继承。示例代码:
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
eat() {
console.log(this.name + " is eating.");
}
}
class Dog extends Animal {
bark() {
console.log(this.name + " is barking.");
}
}
const dog = new Dog("Bobby");
dog.eat(); // Output: Bobby is eating.
dog.bark(); // Output: Bobby is barking.
在上面的例子中,Dog
类继承了Animal
类,并且可以使用Animal
类中定义的name
属性和eat
方法。同时,Dog
类还新增了一个bark
方法。
示例代码:
class Logger {
log(message: string) {
console.log(message);
}
}
class UserService {
logger: Logger;
constructor(logger: Logger) {
this.logger = logger;
}
getUser(id: number) {
this.logger.log("Fetching user with ID: " + id);
// ...
}
}
const logger = new Logger();
const userService = new UserService(logger);
userService.getUser(123);
在上面的例子中,UserService
类依赖于Logger
类来记录日志。通过在UserService
的构造函数中接收一个Logger
实例,并将其保存在logger
属性中,实现了对Logger
类的注入。这样,UserService
就可以使用Logger
类的功能。
继承和注入在实际开发中有不同的应用场景和优势:
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体的产品选择应根据实际需求和情况进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云