私は主に、コンパイルされていない言語である ColdFusion を使用していますが、これはすべての言語に関する一般的な質問です。
getter/setter と CRUD メソッドを使用してオブジェクトを作成しています。サンプルは次のとおりです。
<cffunction name="getPeriodStartDate" output="false" returntype="Numeric">
<cfreturn VARIABLES.PeriodStartDate />
</cffunction>
<cffunction name="setPeriodStartDate" output="false" returntype="Void">
<cfargument name="PeriodStartDate" type="Numeric" required="true" />
<cfset VARIABLES.PeriodStartDate = ARGUMENTS.PeriodStartDate />
</cffunction>
<cffunction name="getDollarAmount" output="false" returntype="Numeric">
<cfreturn VARIABLES.DollarAmount />
</cffunction>
<cffunction name="setDollarAmount" output="false" returntype="Void">
<cfargument name="DollarAmount" type="Numeric" required="true" />
<cfset VARIABLES.DollarAmount = ARGUMENTS.DollarAmount />
</cffunction>
<cffunction name="read" output="false" returntype="Query">
<!---
READ QUERY
--->
<cfreturn _qData />
</cffunction>
<cffunction name="create" output="false" returntype="Void">
<!---
INSERT QUERY
--->
</cffunction>
<cffunction name="update" output="false" returntype="Void">
<!---
UPDATE QUERY
--->
</cffunction>
<cffunction name="delete" output="false" returntype="Void">
<!---
DELETE QUERY
--->
</cffunction>
明らかに、get
メソッドとread()
メソッドは値を返します。
しかし、他のメソッドが値 (おそらくブール値) を返すようにする利点はありますか?
私は Flex/ActionScript で作業してきましたが、ほとんどの場合、次のコード行が処理されないようにするために、メソッドから何らかの値を返し、その結果に変数を設定する必要があったことを覚えています。
function myFunc() {
x = getSomething();
y = getSomethingElse(x);
}