ApexとJavaの違い クラスの継承について

Apex クラスと Java クラスの違い
メソッドおよびクラスはデフォルトで final です。
virtual 定義修飾子は、拡張や上書きを許可します。
override キーワードは、基本クラスメソッドを上書きするメソッドで
明示的に使用する必要があります。

使用例
1.Javaクラスの継承の書き方

//親クラス
public class Parent {
}
//子クラス
class Child extends Parent {
}

2.Apexではデフォルトで継承を禁止する仕様となっているため、
それを許可する修飾子を追記する必要があります。

//親クラス
public virtual class Parent {
}
//子クラス
class Child extends Parent {
}

このように親クラスで「virtual」を宣言することで、そのクラスの継承を許可することが出来ます。

3.Apexでオーバーライドする側のメソッドにも「override」を使用して明示的にオーバーライドを宣言します。

//親クラス
public virtual class Parent {
    public virtual void action() {        
    }
}
//子クラス
class Child extends Parent {
    public override void action() {        
    }
}

 

Apex

Posted by arkgame