我确信可能有一个简单的解决方案,但无论如何问题是这样的:我有两个类,比如说A
和,它们都有类似于数据框的属性——这些属性是数据框类的实例,B
称之为C
有自己的方法。我想定义一个“类似接口”的类D
,它具有可以对这些属性进行操作的方法(即对作为A
和的属性的数据帧进行操作B
)。
为清楚起见进行编辑:在下面的内容中,让a
和b
成为来自 class 的数据框(即实例)C
。这样 的 方法C
可用于a
和b
。
更明确地说:假设a
数据框类似于 的属性A
,具有属性Series1
,...,Seriesn
。由于a
类似于数据框,我可以调用
a.Series1, a.Series2, ...
etc 来访问Series1
, Series2
in的内容a
。当然a
是一个属性,A
所以我实际上是在调用A.a.Series1
, A.a.Series2
.. 等,并且a
有自己的类方法,C
所以我可以调用A.a.Series1.methodfromclassC()
没有问题。无论如何。现在假设我想以一致的方式对a.Seriesj
, or的内容进行转换b.Seriesj
,实现为 class 中的方法D
,并且两者都A
可以B
访问。我希望能够A
像这样调用班级成员的想法:A.a.Seriesj.transformseries()
. 我遇到的问题是它Seriesj
有自己的方法(继承自 class C
)并且transformseries()
不是其中之一。
这可能看起来有点令人费解,但我的想法是最终我可以将多个调用链接到D
更改数据帧属性状态的各种方法:A.a.Series2.transform1().transform2().transformj()
等等B.b.Seriesj.transform6().transform3()
,以便最终表示A.a
andB.b
是我想要的形式。