この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

インターフェース

Java などのオブジェクト指向言語では、一連のメソッド署名を定義するインターフェースという概念がサポートされています。インターフェースを実装するクラスでは、メソッドの実装を提供する必要があります。Java のインターフェースを直接インスタンス化することはできませんが、そのインターフェースを実装するクラスをインスタンス化することはできます。

同様に、Lightning コンポーネントフレームワークでは、属性を定義することでコンポーネントの形状を定義するインターフェースの概念がサポートされています。

インターフェースは、<aura:interface> タグで始まります。次のタグのみを含めることができます。

  • インターフェースの属性を定義する <aura:attribute> タグ。
  • 起動できるイベントを定義する <aura:registerEvent> タグ。

インターフェース���は、マークアップ、レンダラ、コントローラなどを使用できません。

インターフェースを使用するには、インターフェースを実装する必要があります。実装しないと、インターフェースをマークアップで直接使用できません。<aura:component> タグの implements システム属性を、実装するインターフェースの名前に設定します。次に例を示します。

コンポーネントは、インターフェースを実装し、別のコンポーネントを拡張できます。

インターフェースは、カンマ区切りのリストを使用した複数のインターフェースを拡張できます。

スーパーコンポーネントから継承する属性の値を設定するには、サブコンポーネントで <aura:set> を使用します。この使用方法は、コンポーネントと抽象コンポーネントでは動作しますが、インターフェースでは動作しません。インターフェースから継承する属性の値を設定するには、サブコンポーネントで <aura:attribute> を使用して属性を再定義し、そのデフォルト属性の値を設定します。

メモ

抽象コンポーネントのコンテンツには制限が少ないため、インターフェースより一般的です。コンポーネントでは、複数のインターフェースを実装できますが、抽象コンポーネントは 1 つしか拡張できないため、一部の設計パターンではインターフェースのほうが便利です。