0
假设我需要一组类实现所有方法 X,Y和Z才能正常工作。在这种情况下,我可以让他们实施一个通用界面来强制这一点。强制类实现一组方法之一
现在,我的情况有点不同 - 我的课程需要实现至少有一个 X,Y和Z,不一定全部。接口在这里帮不了我。我能想到的最接近的是一个共同的父母 - 它可以检查X,Y或Z在其结构中的存在。
我宁愿避免在这里继承,因为我可能需要在已经有一个父类的类中实现这个“接口”。所以 - 是否有另一种优雅的方式来做到这一点?
(我在PHP中的工作,但如果一般的OOP的解决方案存在,它可用于更广泛的受众。)
接口可以帮助你。这些接口扩展了一个通用接口。不知道你希望如何继承,除非你想每次检查它是哪一个。 –
听起来像一个糟糕的建筑/设计。你能解释一下为什么你需要“实现X,Y,Z中的至少一个”吗? –
@WaxCage我们有配置值访问类。有些可以从数据库中获取它们,另一些从配置文件中获取,另一些则可以从硬编码数组中获取。你可以通过getAsString(),getAsParamObject()或类似的方法从这样的类中获得一个值。 这绝对是一个糟糕的设计,但这是我现在需要处理的一个设计。 这些配置类经常被修改(和破坏),所以我想在重构整个事物之前确保它们的基本功能(至少以某种方式获取值)。 –