Python:类实例的子类?

时间:2017-06-26 19:56:27

标签: python python-2.7 inheritance

这主要是一个程序设计问题。

我有多个相同的仪器外壳,每个外壳包含四个相同的仪器,我可以远程通信。我想制作一个仪器外壳类,其中包含:与每个外壳进行通信的方法,进行外壳特定操作的方法,以及使用这些方法所需的外壳属性(地址)。

我还想为乐器本身制作子类。这些子类将具有执行特定于仪器的操作的方法,这些操作调用超类的方法和属性以通过外壳进行通信。

这种设计的问题在于每个住房最终将有五个实例:一个用于其操作,一个用于四个工具。

是否可以创建住房类的实例,然后让子类从住房实例继承?或者我是以错误的方式思考这个设计(我对python来说比较新)?

2 个答案:

答案 0 :(得分:1)

我可能误解了这个问题,但根据我的理解,住房内有四个(或一些数量)的工具。然后,您需要一个班级Housing和一个班级Instrument。一个住房中有一个仪器清单,而每个仪器都是在参考其外壳的情况下创建的。如果乐器必须做一些特殊的事情,你可以继承Instrument,同样也可以继承。

答案 1 :(得分:1)

我在这里找到了我需要的东西:

https://stackoverflow.com/a/1081925/8217247

通过在实例化Housing并重新定义Instrument时使用__getattr__类的实例作为参数,可以使Instrument个孩子动态地引入属性他们的实例Housing