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.');
    } 
}

 

IT

Posted by arkgame