在给出的选项中,描述错误的是选项 D。
以下是对每个选项的分析:
- **A: B是A的子类**
- 正确。在 Python 中,`class B(A)` 表示类 B 继承自类 A,因此 B 是 A 的子类。
- **B: A是B的父类**
- 正确。由于 B 继承自 A,A 被称为 B 的父类或基类。
- **C: 当实例化B的对象时, run方法会返回'notok'**
- 正确。在类 B 中,`run` 方法被重写(覆盖),所以实例化 B 的对象后调用 `run` 方法时,会执行 B 中的实现,返回 `'notok'`。
- **D: 当实例化B的对象时, run方法会返回'ok'**
- 错误。因为 B 类重写了 `run` 方法,实例化 B 的对象并调用 `run` 方法时,返回值为 `'notok'`,而不是 `'ok'`。
综上所述,**选项 D** 是描述错误的选项。