Apex virtual とextendsでクラスの拡張を実装する方法
環境
Apex Salesforce
構文
private | public | global
[virtual | abstract | with sharing | without sharing]
class ClassName [implements InterfaceNameList] [extends ClassName]
{
// クラスの処理内容
}
virtual 定義修飾子は、このクラスが拡張や上書きを許可することを宣言します。クラスが virtual として定義されていない場合、
override キーワードを使用したメソッドの上書きはできません。
使用例
Markerクラスの定義
public virtual class Marker { public virtual void write() { System.debug('テスト項目.'); } public virtual Double discount() { return .05; } }
Marker クラスを拡張する YellowMarker クラスを作成します。
// Markerクラスの拡張
public class YellowMarker extends Marker { public override void write() { System.debug('テスト1233.'); } }