dhr*_*ird 2 inheritance design-patterns
我现在已经绞尽脑汁继承了一段时间,但我仍然没能完全绕过它.
例如,前几天我正在考虑将无懈可击的人类与可怜的人类联系起来.我们先来定义两个:
现在的问题是: 是一个绝对可靠的人一个容易犯错的人或者是容易犯错的人一个犯错的人?
我收到的非常好的答案是一个问题的形式(我喜欢这些,因为它给了我规则来回答我可能有的未来问题).
"你能否通过一个绝对正确的人类,预计会有一个易受伤害的人类,或者你能否通过一个容易犯错的人类?
很明显,你可以通过一个绝对正确的人类,在那里可以预见一个易犯错误的人,但不是相反.我猜这回答了我的问题.
然而,它仍然感觉很有趣,说"一个绝对正确的人是一个易犯错的人".当他们说出来时,还有其他人感到不安吗?说出继承树就好像用简单的英语读出命题演算中的陈述一样(if/then蕴涵连词并不意味着与英语口语相同).还有其他人有同感吗?
"看起来很明显,你可以通过一个绝对正确的人类,在那里人们会有一个错误的人,但不是相反"
这只是某种情况下的正确假设.通过这种方式分解:
如果你的系统逻辑需要通过一个会犯错误的人,那么这是不正确的.
如果系统的逻辑不关心人类会做什么,那么这是正确的.
换句话说,它完全取决于系统的要求来确定问题的答案"IS an infallible human A fallible human OR IS a fallible human AN infallible human?".
逻辑对象被拟人化的事实可能比任何东西都更令人困惑,因为看起来你的混淆源于一个哲学的立场而不是一个逻辑的立场.用"对象X"和"对象Y"取代"绝对可靠的人"和"易犯错的人",它可以为你清除思路.