这是一个软件设计/最佳实践问题。方便地获取对象属性的字符串值的最优雅方法是什么?
考虑这个例子:
我有一个将数值保存为整数的模型。
class Person {
integer time_of_birth; // unix timestamp
integer gender; // 1 - male, 2 - female
integer height; // number of millimeters
integer weight; // number of grams
string name;
}
要创建有意义的视图(例如 HTML 页面),我需要以人类可读的形式输出数字信息 - 字符串。到目前为止,我通过添加返回非字符串属性的字符串表示的方法“attributename_str()”来做到这一点。
method time_of_birth_str() {
return format_date_in_a_sensible_manner(this.time_of_birth);
}
method gender_str() {
if this.gender == 1 return 'male';
if this.gender == 2 return 'female';
}
method height_str(unit, precision) {
if unit == meter u = this.height/some_ratio;
if unit == foot u = this.heigh/different_ratio;
return do_some_rounding_based_on(precision,u);
}
问题是 - 有没有更好的方法来做到这一点,而无需创建大量的格式化方法?也许是一个单一的静态格式化方法?你如何进行这种数值格式化?