
説明
コンストラクターが実行される順序は次のとおりです。
superl のクラス コンストラクター。これは、クラス コンストラクターが、クラスに初めてアクセスする前に自動的に実行される静的メソッドであるためです。クラス コンストラクターは、クラスの静的属性とコンポーネントを初期化するために使用されます。サブクラスは subl の superclass12 クラス コンストラクターの静的コンポーネントを継承するため、スーパークラスのクラス コンストラクターはサブクラスのクラス コンストラクターより前に実行されます。これは、クラス コンストラクターが、クラスに初めてアクセスする前に自動的に実行される静的メソッドであるためです。クラス コンストラクターは、クラスの静的属性とコンポーネントを初期化するために使用されます。サブクラスは superl の superclass12 インスタンス コンストラクターの静的コンポーネントを継承するため、サブクラスのクラス コンストラクターはスーパークラスのクラス コンストラクターの後に実行されます。これは、インスタンス コンストラクターが、CREATE OBJECT ステートメントを使用してクラスのインスタンスが作成されるときに自動的に実行されるインスタンス メソッドであるためです。
インスタンス コンストラクターは、クラスのインスタンス属性とコンポーネントを初期化するために使用されます。サブクラスはスーパークラスのインスタンス コンポーネントを継承するため、スーパークラスのインスタンス コンストラクターはサブクラスのインスタンス コンストラクターより前に実行されます。スーパークラスが subl のルート ノード オブジェクト 12 インスタンス コンストラクターである場合を除き、サブクラスのインスタンス コンストラクターは、super->constructor を使用してスーパークラスのインスタンス コンストラクターを明示的に呼び出す必要があります。これは、インスタンス コンストラクターが、CREATE OBJECT ステートメントを使用してクラスのインスタンスが作成されるときに自動的に実行されるインスタンス メソッドであるためです。
インスタンス コンストラクターは、クラスのインスタンス属性とコンポーネントを初期化するために使用されます。サブクラスはスーパークラスのインスタンス コンポーネントを継承するため、サブクラスのインスタンス コンストラクターは、スーパークラスのインスタンス コンストラクターの後に実行されます。スーパークラスがルート ノード オブジェクトである場合を除き、サブクラスのインスタンス コンストラクターは、super->constructor を使用してスーパークラスのインスタンス コンストラクターを明示的に呼び出す必要があります12 参照: クラスのコンストラクター - ABAP キーワード ドキュメント、メソッド - コンストラクター - ABAP キーワード ドキュメント