sObject の型
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 クエリ」を参照してください。
カスタム表示ラベル
カスタム表示ラベルは標準の sObjects ではありません。カスタム表示ラベルの新規インスタンスを作成することは��きません。カスタム表示ラベルの値にアクセスするには、必ず system.label.label_name を使用します。この例を次に示します。
1String errorMsg = System.Label.generic_error;カスタム表示ラベルについての詳細は、Salesforce オンラインヘルプの「カスタム表示ラベル」を参照してください。