如何重新设计我的代码以避免python中的嵌套类?

时间:2014-09-22 19:45:13

标签: python class oop

假设我有三个类:Outer,Inner1和Inner2。 Inner1和Inner2都需要访问 来自Outer的数据成员,但显然如果Inner1和Inner2嵌套在Outer中,则无法从Outer访问数据。关于我应该如何重新设计的任何想法?

更多信息: Outer的每个实例都与Inner1和Inner2的多个实例相关联。 Inner1表示曲线上的点(曲线为外),Inner2表示"数字"这是Inner2的x,y坐标。它们共享一条数据,即质数模数(而Inner1需要有关曲线参数的信息)。

我更希望Inner1和Inner2的每个实例都不必随身携带。

1 个答案:

答案 0 :(得分:1)

在Python中,与Java不同,嵌套类没有外部类的关联实例,因此无法从外部类访问数据。

实现此目标的一种方法是让Inner1Inner2保持对Outer实例的引用,并使用该引用来访问数据。当你在这里时,可能值得考虑嵌套这些类是否有任何好处;也许让他们彼此并存可能会更清洁。