1

私は主に、コンパイルされていない言語である 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);
}
4

1 に答える 1

5

セッターに戻る場合はthis、セッターをチェーンできます。thisCF10 アクセサーは、デフォルトでチェーンを有効にするように戻ったと思います。

しばらく前に、返品voidする方が効率的だということを読みましたが、それが本当かどうかはわかりません。違いが顕著になるとは思えません。

于 2012-04-24T15:26:55.347 に答える