功能覆盖:发生什么以及何时发生

Functional Override: What occurs and when

因此,功能覆盖和离散数学。我在关键系统设计中不完全确定的功能。假设我们有一个功能,如果 f() 应该失败; g() 会覆盖;如下所示...

"g() ⊕ f()"



我了解在输入 (x) 不在 F() 的范围或域内的情况下,然后函数 G() 应该作为它的覆盖而 x 将成为 G()[=45 的函数=], g(x)。但是在上面的示例中,您会注意到 xf()g()[ 的域之外=45=]。

这是否意味着永远不会给出输出,因为 x 是无效输入?

这似乎不太可能是在关键系统中必须处理的现实异常,因为人们期望“g() ⊕ f()”能够补偿对于任何输入;但是在最近的一次考试中,这种问题被交给了我,我发现它是一个相当棘手的问题。如果有人能对此有所了解,将不胜感激; None 我的书中提到了任何关于处理这种输入的事情,所有教给我的例子都是 x 在 range/domain 至少 g().

所以事实证明,即使 g() 覆盖 f(),如果输入超出第一个函数和覆盖函数的范围;输出是一个错误,因为它永远不符合任何一个测试的条件。同样,当我们尝试使用计算器分解负数时。