私はタイプスクリプトで非常に新しいです。TSで一般的なクラスのプロパティのセットを作成
TS2420 Class 'Booking' incorrectly implements interface 'MetaObject'.
Property 'active' is missing in type 'Booking'.
私は私が指定したくないいくつかのプロパティメタオブジェクトを持ってしようとしています:コードの大は、そのエラーを誘発すること
export interface MetaObject {
public creationDate: string,
public modificationDate: string
}
export class A implements MetaObject {
constructor(
public id:number,
) { }
}
export class B implements MetaObject {
constructor(
public id:number,
) { }
}
:
私は、次のコードを持っています私のコンストラクタですが、私はすべてのオブジェクトに存在したいと思っています。これまで私はこれらのプロパティを持つインターフェイスを作成しており、クラスはそれを実装しています。そうするのが正しい方法ですか?ここでの目的は、実際にクラスに他のものを追加する必要はなく、インターフェイスに共通のプロパティ名、型、...を保持することです。
これは正しい方法ですか?
creationDateとmodificationDateがコンストラクタでpublicではないのはなぜですか? – Scipion
これらは基本クラス( 'MetaObject')で' protected'です。拡張クラスではメンバーとして宣言する必要はなく、スーパーに渡されます。 –