多态

来源:互联网 发布:恺英网络招聘 编辑:程序博客网 时间:2024/06/06 13:16

什么是多态?

多态指同一个实体同时具有多种形式。它是面向对象程序设计(OOP)的一个重要特征。如果一个语言只支持类而不支持多态,只能说明它是基于对象的,而不是面向对象的。C++中的多态性具体体现在运行和编译两个方面。运行时多态是动态多态,其具体引用的对象在运行时才能确定。编译时多态是静态多态,在编译时就可以确定对象使用的形式。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。

在C++中:

  class A {

  public:

  A() {}

  virtual void foo() {

 count << "This is A." << endl;

  }

  };

  class B : public A {

  public:

  B() {}

  void foo() {

  cout << "This is B." << endl;

  }

  };

  int main(int argc, char* argv[]) {

  A *a = new B();

  a->foo();

  if(a != NULL)

  delete a;

  return 0;

  }

  这将显示:

  This is B.

  如果把virtual去掉,将显示:

  This is A.

  前面的多态通过使用虚函数virtual void foo()来实现。


0 0
原创粉丝点击