将对象属性转换为字典表中的人类友好字符串

本文关键字:人类 字符串 属性 对象 转换 字典 | 更新日期: 2023-09-27 18:35:15

我有一个用于学习目的的笔记本电脑类,数据库中有几个表:生产者、颜色、字典表(如 ID、名称)和实际的笔记本电脑表。

我的笔记本电脑桌看起来像这样:

MODEL | PRODUCER | COLOR | TYPE
-------------------------------
ABC1  |     1    |   2   |   1
XYZ   |     2    |   1   |   1

其他表如下所示(例如颜色表):

ID | NAME
---------
1  | red
2  | green

我的类属性是:模型 - 字符串,制片人 - 国际,颜色 - 整数,类型 - 整数。

我的问题是:当我从数据库获取笔记本电脑对象并且我想用它们填充组合框时,我检索它们的方式并不是真正人性化的。我想将所有这些整数从 db 转换为字符串以获得这样的东西。

ABC1 - 戴尔 - 黑色 - 标准 - 30$

如何处理这个问题?特殊方法?特殊类?我希望我解释得足够好。谢谢。

编辑

好的,所以当我从我从中获取笔记本电脑对象时,我使用简单的选择查询select model, producer, color, type from laptop结果,我得到一行,其中包含一个模型字符串,其余属性作为整数,然后我创建一个对象。如果使用加入select laptop.model, producer.name, color.name, type.name from ... laptop join producer on laptop.producer = producer.id ...等结果我得到的是所有与我的类结构不匹配的字符串。解决这个问题的好做法是什么?

将对象属性转换为字典表中的人类友好字符串

您可以通过

多种方式执行此操作。例如,您可以将字典表加入以仅返回所需的列,例如颜色的名称而不是它的 ID。或者你可以延迟计算,例如,有一个 colorName 的 get 方法,它从数据库中检索该行的值。但是,延迟计算可能会严重影响性能,因此您可以将字典表检索到字典或等效项中,并在内存中查找它们。