この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

sObject 型

この開発者ガイドでは、sObject という用語は、Force.com プラットフォームデータベースに保存できるオブジェクトを指します。sObject 変数は 1 行のデータを表し、SOAP API のオブジェクト名を使用して Apex でのみ宣言できます。次に例を示します。

1Account a = new Account();
2MyCustomObject__c co = new MyCustomObject__c();

SOAP API と同様、Apex では汎用の sObject 抽象型を使用してオブジェクトを表すことができます。sObject データ型は、さまざまな種類の sObjects を処理するコードで使用できます。

new 演算子は具体的な sObject 型を要求するため、すべてのインスタンスは特定の sObjects です。次に例を示します。

1sObject s = new Account();

汎用 sObject 型と特定の sObject 型の間にキャストを使用することもできます。次に例を示します。

1// Cast the generic variable s from the example above
2// into a specific account and account variable a
3Account a = (Account)s;
4// The following generates a runtime error
5Contact c = (Contact)s;
sObjects はオブジェクトと同様に機能するため、次のようになります。
1Object obj = s;
2// and
3a = (Account)obj;

DML 操作は汎用 sObject データ型および正規の sObjects として宣言される変数を処理します。

sObject 変数は null に初期設定されますが、new 演算子を使用して有効なオブジェクト参照に割り当てることができます。次に例を示します。

1Account a = new Account();

新しい sObject をインスタンス化する場合、開発者はカンマで区切られた name = valueのペアを項目の初期値に指定することもできます。次に例を示します。

1Account a = new Account(name = 'Acme', billingcity = 'San Francisco');

Force.com プラットフォームデータベースから既存の sObject へのアクセスについての詳細は、Force.com SOQL および SOSL リファレンスの「SOQL および SOSL クエリ」を参照してください。

sObject の ID は参照専用の値で、clone 操作でクリアされない限り、またはコンストラクタがアサインされない限り、Apex で明示的に変更できません。Force.com プラットフォームは、オブジェクトレコードが初めてデータベースに挿入されると、ID 値を自動的に割り当てます。詳細は、Listsを参照してください。

メモ

カスタム表示ラベル

カスタム表示ラベルは標準の sObjects ではありません。カスタム表示ラベルの新規インスタンスを作成することはできません。カスタム表示ラベルの値にアクセスするには、必ず system.label.label_name を使用します。次に例を示します。
1String errorMsg = System.Label.generic_error;

カスタム表示ラベルについての詳細は、Salesforce オンラインヘルプの「カスタム表示ラベルの概要」を参照してください。