“适用于对象的操作”/“对象操作”是什么意思?

时间:2013-01-17 16:59:50

标签: oop

我大部分时间都在与OOP(继承)中的术语混淆。因此,今天结束了我的战争:)

考虑(语言无关)代码:

class rectangle {
...
  void changeLength(int);
  void changeWidth(int);
...
}

class square : public rectangle { ... }

int calculateArea(rectangle){ ... }

现在,当xyz表示rectangle上适用(或适用)的任何操作也适用于square时,是xyz在这里谈论成员函数还是(对矩形的任何操作) calculateArea功能或两者都包含在内?

1 个答案:

答案 0 :(得分:0)

当xyz表示<{1}}由提供的的任何操作也由 rectangle 提供时,他正在谈论所有三个操作。 suqare提供squarecalculateAreachangeLength(ing)

当xyz表示任何适用的操作<{1}}对<{1}} 适用时,他正在谈论的事实也可以在changeWidth(int)的实例中调用rectanglesquare本身可以调用类的公共方法。如果超类的方法没有在子类中重写,它将执行超类的方法。

另见Wikipedia: Inheritance (Computer Science)

请务必阅读SLaks提到的关于Circle-Ellipse-Problem提及的维基百科文章,该文章解决了该原则的一些主要问题。