Apex メソッド(method)の書き方

環境
Salesforce Apex

構文
[global | public | private | protected] /* アクセス範囲 */
[abstract] /* abstractかどうか */
[virtual] /* virtualかどうか */
[override] /* overrideかどうか */
[static] /* static かどうか */
data_type /* 型 */
method_name /* メソッド名 */
(input parameters) /* 引数 */
{
// 処理コード
}

アクセス範囲
global
すべての Apex クラスからアクセス可能
外部から呼び出すような method に使う

public
同じパッケージの Apex クラスからアクセス可能

protected
同じクラス、継承したクラスからアクセス可能
Javaの protected と同じだが、記述にクセがある

使用例1  abstractクラスのprotectedメソッドの書き方

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public abstract class AbstractBase {
protected void cft() {
System.debug('test 12343');
}
}
public abstract class AbstractBase { protected void cft() { System.debug('test 12343'); } }
public abstract class AbstractBase {
    protected void cft() {
        System.debug('test 12343');
    }
}

使用例2 通常クラスの protectedメソッド

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public class Blabtest {
protected void cft() {
System.debug('ssss 123456 ');
}
}
public class Blabtest { protected void cft() { System.debug('ssss 123456 '); } }
public class Blabtest {
    protected void cft() {
        System.debug('ssss 123456 ');
    }
}

使用例3 virtualメソッドの書き方

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public abstract class AbstractBase {
public void show() {
cft();
}
protected virtual void cft() {
System.debug('abstract 123456');
}
}
public abstract class AbstractBase { public void show() { cft(); } protected virtual void cft() { System.debug('abstract 123456'); } }
public abstract class AbstractBase {
    public void show() {
        cft();
    }

    protected virtual void cft() {
        System.debug('abstract 123456');
    }
}

 

IT

Posted by arkgame