这主要是一个程序设计问题。
我有多个相同的仪器外壳,每个外壳包含四个相同的仪器,我可以远程通信。我想制作一个仪器外壳类,其中包含:与每个外壳进行通信的方法,进行外壳特定操作的方法,以及使用这些方法所需的外壳属性(地址)。
我还想为乐器本身制作子类。这些子类将具有执行特定于仪器的操作的方法,这些操作调用超类的方法和属性以通过外壳进行通信。
这种设计的问题在于每个住房最终将有五个实例:一个用于其操作,一个用于四个工具。
是否可以创建住房类的实例,然后让子类从住房实例继承?或者我是以错误的方式思考这个设计(我对python来说比较新)?
答案 0 :(得分:1)
我可能误解了这个问题,但根据我的理解,住房内有四个(或一些数量)的工具。然后,您需要一个班级Housing
和一个班级Instrument
。一个住房中有一个仪器清单,而每个仪器都是在参考其外壳的情况下创建的。如果乐器必须做一些特殊的事情,你可以继承Instrument
,同样也可以继承。
答案 1 :(得分:1)
我在这里找到了我需要的东西:
https://stackoverflow.com/a/1081925/8217247
通过在实例化Housing
并重新定义Instrument
时使用__getattr__
类的实例作为参数,可以使Instrument
个孩子动态地引入属性他们的实例Housing
。