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

拡張クラスの例

クラスの拡張の例を次に示します。Apex クラスのすべての機能を示します。この例で使用されるキーワードや概念は、この章内で詳細に説明します。

このコード例では次を示しています。
  • 最上位クラスの定義 (外部クラスとも呼ぶ)
  • 最上位クラスの静的変数および静的メソッド、および静的初期化コードブロック
  • 最上位クラスのメンバー変数とメソッド
  • ユーザ定義のコンストラクタが存在しないクラス。暗黙的で、引数をとらないコンストラクタを含む。
  • 最上位クラスのインターフェース定義
  • 別のインターフェースを拡張するインターフェース
  • 最上位クラス内の内部クラス定義 (1 つ下のレベル)
  • メソッド署名の公開バージョンを実装することでインターフェース (つまり、関連付けられているサブインターフェース) を実装するクラス
  • 内部クラスコンストラクタの定義と呼び出し
  • 内部クラスのメンバー変数と、this キーワード (引数なし) を使用したその変数の参照
  • 別のコンストラクタの呼び出しに this キーワード (引数なし) を使用する内部クラスコンストラクタ
  • コンストラクタ外 (変数が定義されている箇所と、中括弧 ({}) で囲まれた匿名のブロックの両方) の初期化コード。これらのコードは、Java と同様にファイルに記述されている順序���おりにすべてのコンストラクションと共に実行されます。
  • クラスの拡張と抽象クラス
  • 基本のクラスメソッドを上書きするメソッド (virtual として宣言する必要がある)
  • サブクラスメソッドを上書きするメソッドの override キーワード
  • 抽象メソッドと具体的なサブクラスによる実装
  • protected アクセス修飾子
  • ファーストクラスオブジェクトとしての例外とそのメンバー、メソッド、コンストラクタ

この例では、上記のクラスを他の Apex コードからコールする方法を示します。

このコード例では次を示しています。
  • 外部クラスの作成
  • 内部クラスの作成と内部インターフェース型の宣言
  • インターフェース型として宣言された変数を、インターフェースを実装するクラスのインスタンスに割り当て可能
  • そのインターフェースを実装するクラス型にインターフェース変数をキャスト (instanceof 演算子を使用した検証後)