父类
import { baseUrl } from "../config/base";
import { HttpHelp } from "../utils/HttpHelp";
class BaseService {
httpHelp: HttpHelp = new HttpHelp();
baseUrl: string = baseUrl;
}
export { BaseService };
子类
import { BaseService } from "./BaseService";
class PublicService extends BaseService {
public uploadimg(files: string) {
this.httpHelp.uploadFile(this.baseUrl + "/common/upload", files).then(res => {
console.info(res)
})
}
}
export { PublicService };
这里的子类调用父类的方法和属性用的this,而不是super,如果用super会提示找不到属性,找不到方法。请问,为什么?
在TypeScript中,
this
关键字用于表示当前类的实例。当你在一个类中继承另一个类时,子类将拥有父类的所有属性和方法。为了在子类中访问这些属性和方法,你需要使用this
关键字。在TypeScript中,
super
关键字用于表示父类的实例。在子类中,你可以使用super
关键字来调用父类的构造函数、属性和方法。以下是一个示例:
在这个例子中,
Dog
类继承了Animal
类。在Dog
类中,我们使用super
关键字来调用父类的makeSound
方法和构造函数。使用this
关键字来访问父类的name
属性。总之,在TypeScript中,
this
关键字用于访问当前类实例的属性和方法,而super
关键字用于在子类中调用父类的构造函数、属性和方法。