Oop 返回所有对象getter方法的toString
我正在使用ColdFusion,但我想知道其他语言如何处理这个问题 是否有更好的方法返回所有对象变量(getter),而无需在对象上编写大量的toString()方法Oop 返回所有对象getter方法的toString,oop,coldfusion,tostring,object-to-string,Oop,Coldfusion,Tostring,Object To String,我正在使用ColdFusion,但我想知道其他语言如何处理这个问题 是否有更好的方法返回所有对象变量(getter),而无需在对象上编写大量的toString()方法 variables.oCity = createObject("component", "_lbr._core._locations.city").init(); variables.oCity.setName(request.parameters.sCityName); variables.oCity.setCountryID
variables.oCity = createObject("component", "_lbr._core._locations.city").init();
variables.oCity.setName(request.parameters.sCityName);
variables.oCity.setCountryID(request.parameters.nLocationCountryID);
if(request.parameters.nStateID eq 0){
variables.stArgs = {};
variables.stArgs.sState = request.parameters.sLocationCountry;
variables.stArgs.nCheckCountryID = request.parameters.nCountryID;
variables.oCity.setStateID = application.stObj.oLocationBusiness.getState(argumentCollection=variables.stArgs).getStateID();
} else {
variables.oCity.setStateID = request.parameters.nStateID;
}
我的代码是这样的。我想要的是输出我刚刚设置的所有内容(以及对象默认设置的任何内容),而无需编写一个庞大的toString,该字符串将所有各种变量连接起来,这些变量可能如下所示:
对象:StateID=12,Name=“阿根廷”,CountryID=32,CityID=44
我的心告诉我这不太可能。这取决于如何在对象中存储变量。我通常将所有变量存储在
variables.instance
结构中。然后我创建一个get()
,它只返回变量。实例结构:
public struct function get(){
return Duplicate(variables.instance);
}
这取决于如何在对象中存储变量。我通常将所有变量存储在variables.instance
结构中。然后我创建一个get()
,它只返回变量。实例结构:
public struct function get(){
return Duplicate(variables.instance);
}
如果您在CF9+中使用cfproperty
,并且accessor=true
或者persistent=true
,那么如果您在CF9+中使用cfproperty
,并且accessor=true
或者persistent=true
,则cfc转储将返回所有属性,而不返回getter=false
,转储cfc将返回所有属性,但不返回getter=false
TBH不完全确定您在此处的目标是什么,您是否能够详细说明?TBH不完全确定您在此处的目标是什么,您是否能够详细说明?请简要说明一下。结构是通过引用传递的,因此如果不希望对结构的更改自动更改对象的实例变量(通常是不需要的),请将其包装在重复调用中。。。返回重复的(variables.instance)。只需简单说明一下。结构是通过引用传递的,因此如果不希望对结构的更改自动更改对象的实例变量(通常是不需要的),请将其包装在重复调用中。。。返回重复(variables.instance)。