Skip to main content

类的泛型

/**
* 父类
*/
export class MyClass<T> {

name: T;
address: string;

static years: number = 365

constructor(name: T, address: string) {
this.name = name;
this.address = address;
}

getFullName() {
return `${this.name}`
}

static staticMethod(){
return 'static method called';
}
}
export const mc = new MyClass<string>('孙悟空', 'china');
console.log(mc.getFullName())
console.log(MyClass.staticMethod(), MyClass.years)



/**
* 子类
*/
export class SubClass extends MyClass<string> {

extension: string;

constructor(name: string, address: string, extension: string){
super(name, address);
this.extension = extension;
}

}
const subClass = new SubClass('猪八戒', 'china', '123');
console.log(subClass.getFullName())