Mik*_*e J 9 python oop multiple-inheritance
我有以下问题,我想知道是否有一种很好的方法来模拟这些对象而不使用多重继承.如果它有任何区别,我使用的是Python.
学生需要联系信息和学生信息.成人需要联系信息和结算信息.学生可以是成人学生,在这种情况下我需要联系人/学生/账单信息,或者他们可以是孩子,在这种情况下我需要联系人/学生/家长信息.
为了明确系统的使用方法,我需要能够查询所有成年人的名单(我会得到成人学生和父母),或者所有学生的名单(我会给孩子学生加上成人学生).
此外,所有这些对象都需要具有公共基类.
你所拥有的是一个角色的例子 - 它是通过继承来模拟角色的常见陷阱,但是角色可以改变,并且不建议改变对象的继承结构(即使在可能的语言中,如Python).儿童成长并成为成年人,一些成年人也将成为儿童学生的父母以及成人学生 - 他们可能会放弃任何一个角色但需要保留另一个角色(他们的孩子会改变学校,但他们没有,或反之亦然) .
只有一个具有必填字段和可选字段的Person,后者代表Roles,可以更改."请求列表"(完全独立于继承或其他方式)可以通过动态构建列表(遍历所有对象以检查每个对象是否满足要求)或维护对应于可能要求的列表(或频繁和即席查询的两种策略的混合).某种类型的数据库可能在这里有所帮助(并且大多数数据库在没有继承的情况下工作得更好;-).
归档时间: |
|
查看次数: |
655 次 |
最近记录: |