この記事の目次
Salesforceのgetterとは?

- Apexのプログラム内でプロパティを参照する
- ApexのプロパティをVisualforceページで表示する
- Lightning Web Componentのプログラム内のプロパティを参照する
getterの実装方法

Apexのプログラム内でプロパティを読み書きする方法
Apexのプログラム内で、Apexのプロパティを読み書きする方法を2つ解説します。Apexのプロパティでは、読み取る処理のgetterと書き込む処理のsetterを一緒に宣言することが多いため、setterの実装方法もあわせて解説します。getter/setterの処理を実装する方法
getのブロック内にgetterが呼ばれたときの処理を実装し、setブロック内にsetterが呼ばれたときの処理を実装する方法です。プロパティの読み書き処理をカスタマイズしたいときに利用します。 例)プロパティを宣言するクラスpublic class HogeProperty {
public String hoge {
get {
// getterが呼ばれたときに実行
return hoge;
}
set {
// setterが呼ばれたときに実行
if (value == ""OK"") {
// 設定値(value)が「OK」の場合、hogeに「〇」を設定
hoge = ""〇"";
} else {
// それ以外の場合、hogeに「×」を設定
hoge = ""×"";
}
}
}
}
例)プロパティを呼び出す処理
HogeProperty hp = new HogeProperty();
// 設定値(value = OK)でsetの処理が実行されるため、hp.hogeに「〇」が設定される
hp.hoge = ""OK"";
System.debug(hp.hoge); // getの処理が実行され、実行結果「〇」が出力される
プロパティを自動で読み書きする方法
フィールドの宣言とともにget/setを宣言する方法です。この方法ではgetter/setterの処理を実装せず、プロパティを自動で読み書きします。プロパティの読み書き処理がカスタマイズできませんが、コードを簡素化できるというメリットがあります。 例)プロパティを宣言するクラスpublic class FugaProperty {
// get/setを宣言することで、自動でプロパティを読み書きする
public String fuga {get;set;}
}
例)プロパティを呼び出す処理
FugaProperty fp = new FugaProperty()
fp.fuga = ""OK""; // FugaPropertyのfugaに「OK」が設定される
System.debug(fp.fuga); // fp.fugaの値が取得され、「OK」が出力される
ApexのプロパティをVisualforceページで表示する方法
ここでは、getterを使ってApexのプロパティをVisualforceページで表示する方法を解説します。【Step1】Controllerクラスを実装する
ApaxのControllerクラスで「getプロパティ名」という形式の名前のメソッドを実装します。public class TestController {
// メソッドを「getプロパティ名」の形式で宣言
public String getGreeting() {
return ""おはよう"";
}
}
【Step2】Visualforceページを実装する
Visualforceページで「{!プロパティ名}」の形式で記述します。<apex:page controller=""TestController "">
<apex:pageBlock title=""{!$User.FirstName}! さんへ"">
<!-- VisualforceページにApexのgetGreeting()の実行結果「おはよう」が表示される -->
{!greeting}
</apex:pageBlock>
</apex:page>
LightningWebComponentのプログラム内のプロパティを読み書きする方法
getter/setterを利用して、LightningWebComponent(LWC)のプログラム内のプロパティを読み書きする実装方法について解説します。実装例では、日本語の挨拶を英語の挨拶に変換します。【Step1】HTMLを実装する
templateのHTMLにプロパティを「{プロパティ名}」形式で宣言します。 例)sample.html<template>
{changeEnglishGreeting}
</template>
【Step2】JavaScriptを実装する
componentのJavaScriptにget/setのメソッドを実装し、どちらかのメソッドに「@api」を付与します。 例)sample.jsimport { LightningElement, api } from 'lwc';
export default class Sample extends LightningElement {
changeEnglishGreeting;
@api
get greeting() {
// getterの処理を実装
return this.changeEnglishGreeting;
}
set greeting(value) {
// setterの処理を実装
if (greeting == ""おはよう"") {
this.changeEnglishGreeting = ""Good morning"";
} else if (greeting == ""こんにちは"") {
this.changeEnglishGreeting = ""Hello"";
} else if (greeting == ""こんばんは"") {
this.changeEnglishGreeting = ""Good evening"";
}
}
}
getterを利用してみよう

この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞