【发布时间】:2017-05-30 09:05:20
【问题描述】:
我是 OOP 的初学者,我想创建一个包含三个类 A、B 和 C 的程序。该类的每个实例都由一组特征 Achar1、Achar2 等定义。
该程序应该创建 uses 包括 A 的元素、B 的元素和 C 的元素以及开始和结束日期。 A 和 B 有子类,因此 A 的某些元素只能连接到 B 的某些元素。程序的主要功能是列出 A、B 和 C 的元素及其属性,列出 uses 并建议新的 uses 使用最少的类实例以避免重复。
我的第一直觉是使用三个字典 A、B 和 C 和一个字典来使用。这似乎直观且易于导入/导出到 json 或类似文件中。我试图重写它以使用类,但我看不出这样做有什么好处:迭代类的实例很难(?),而且它们基本上是字典,因为这些数据不需要太多其他东西。
我做错了什么?从字典切换到对象可以得到什么?
【问题讨论】:
-
从字典切换到对象可以获得什么? 方法中包含的业务逻辑。字典只是数据。但这并不意味着你必须使用对象,函数式编程是一个完美的范例。如果您觉得只需要字典、列表和一些函数就可以完成所有工作,那么 FP 是一个不错的选择。
-
@ŁukaszRogalski 唯一的问题是我习惯于使用非常丑陋的代码进行面向数据的编程(我已经编写了相当多的 FORTRAN77 代码......)并尝试学习一些不同的、更清晰的东西,更容易吗?
标签: python oop data-structures project-planning