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() { } }