このトピックでは、ABAP開発のオブジェクト指向要素を取り上げて説明します。
オブジェクト指向とは
プログラミングにおけるオブジェクト指向とは、いかのようなコンセプトでプログラムを構築する手法で。
- プログラムをオブジェクトに分割して、オブジェクト間のコラボレーションによりアプリケーション機能を実現
- オブジェクトはデータを内蔵しており、それをアクセスできる属性やメソッドをインタフェースとして外部に提供
- オブジェクトは継承することにより、汎用化することができる
クラスとインタフェース
クラスとはデータとその操作手順であるメソッドをまとめたオブジェクトの雛型を定義したものです。 クラスはインスタンス化することができます。
インタフェースとは、クラスのアクセスインタフェースを明確に定義したものです。 インタフェースからインスタンスを作成することができません。
クラスの種類
クラスは、ローカルクラスとグローバルクラスの2種類があります。
- ローカルクラス
ローカルクラスは、レポートプログラムやダイアログプログラムなど、個別プログラムの内部で実装されるクラスです。
ローカルクラスは外部のプログラムに不可視です。 - グローバルクラス
グローバルクラスのソースコードはクラスビルダを使って記述し、システム全体のクラスライブラリに格納されます。
グローバルクラスはどのプログラムからも使うことができます。
ローカルクラスとグローバルクラスはスコープが異なりますが、その以外の違いはとくにありません。
属性
属性は、オブジェクトに関連付けられているデータに対するインタフェースです。 属性はクラスのインスタンスに作用するインスタンス属性と、クラスそのものに作用する静的属性があります。
メソッド
メソッドは、クラスに関連付けられているサブルーチンです。大半のメソッドは、クラスのインスタンスに作用します。中には、クラスそのものに作用するメソッドもあります、これは静的メソッドと呼ばれます。
クラスのインスタンス化
クラスをインスタンス化するには、CREATE OBJECT命令を使用します。