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你的二传手,你可以链接二传手。我认为 CF10 访问器this默认返回启用链接。

我读到过void一段时间返回会更有效率,但我不确定这是否是真的。我怀疑差异会很明显。

于 2012-04-24T15:26:55.347 回答