【发布时间】:2020-02-05 00:10:57
【问题描述】:
我正在尝试制作零售店计划,只是为了练习。它由一个带有可编辑 JTable 的简单窗口组成,显示要出售的现有商品及其属性(价格、库存、名称等)我希望这些属性可以完全自定义(添加或删除任何),所以我想到的方法是创建一个包含“属性”对象列表的“项目”类。在“属性”类中我写了两个变量如下
String name;
Float value;
我的问题是,如果属性是非数值怎么办?比如一个产品的名称。我已经想到了可能的解决方案,但我不相信它们,所以我想听听你会怎么做,或者就良好的编程实践而言,最好的选择是什么。
到目前为止,我已经提出了这些想法:
- 使用字符串类型:但这不会让我将值作为数字进行操作,我可能需要价格(虽然我知道我可以使用 parseFloat() 或类似方法来解决这个问题,但它没有'似乎不是最佳的)
- 使用 Object 类型:有了这个,我需要将值的类型存储在某个地方,以便稍后进行转换,我可以使用 Enum 类型来执行它,但每次转换看起来有点像硬编码,我认为也不是一个好主意
【问题讨论】:
-
欢迎您!顺便说一句,使用
float或double表示价格很诱人,但这可能会导致问题。见stackoverflow.com/questions/3730019/… -
您可以将其建模为“类型安全的异构容器”。见stackoverflow.com/questions/49761657/…
标签: java oop object-oriented-analysis