を認識していない私はそう活字体 - ベースクラスで非抽象メソッド
export abstract class BaseObject<TResult>{
abstract myFunction(values: string): TResult;
getAll(param1: string): Promise<Array<TResult>> {
// do something
}
}
のような基底クラスとこれは私に次のエラーを与えているので、
export interface IUser {
userID: number;
firstName: string;
lastName: string;
}
export class User implements BaseObject<User>, IUser {
constructor(
public userID: number,
public firstName: string,
public lastName: string
}
myFunction= (strUserDetails: string): User => {
// do something
}
}
のような子クラスを設定しています。
Class 'User' incorrectly implements interface 'BaseObject<User>'. Property 'getAll' is missing in type 'User'.
私はここで何が欠けているのか分かりません。基本クラスに実装されていてもgetAllを実装する必要がありますか?
abstract class BaseObject{
public getAll(): void {}
}
class User implements BaseObject {
}
問題は、あなたの代わりにextends
のimplements
を使用していることである:あなたがエラーに関連しないかもしれないものを削除する場合
私は 'それをimplement'ない、それは' 'BaseObjectを延長すべきだと思う:docが言うように、スーパークラスのコンストラクタを呼び出すことを忘れないでください。 –
ありがとうございました:) – antiskidwarpdrive