实例交互的python类实现的变化
我在菜单系统类上写了三个版本。他们在哪里:
class Menu(object)
菜单实例存储在__dict__
中。我用self.data
引用菜单数据。
class Menu(dict)
菜单实例存储在我的班子分类的dict中。我用self[data]
引用菜单数据。
class Menu(object)
菜单数据存储在我在cls.data
中建立的__init__()
字典中。该类主要是一个方法容器,我无法从实例成员功能中受益。
每个方面都有其积极和消极的方面,但它们都闻起来很不好。我认为我了解到的是,如果您开发一个类,其中一个实例必须能够与另一个实例进行交互,则架构会崩溃,因为一种方法可能需要在实例之间进行转换。
例如,如果我有一个带主菜单屏幕的前面板LCD和四个用于选择其他菜单的热键,则某些方法将需要能够跨实例边界进行导航,这完全是我的主意。当某些事情令人不愉快时,通常意味着需要学习一些重要的东西。那么,你们中的任何一个可以帮助我吗?您如何最好地编写实例在方法内交互的地方的代码?
Main Menu
Port Network Device
Setup Setup Setup Next>
当我按下“端口设置”下的按钮时,Menu
类需要使用属于该类/实例的方法将其实例从“主菜单”实例切换到“端口设置”实例。但是如何?
Port Setup Menu
Baud Stop Parity Protocol
Rate Bits Bit Address