多态性!

baike.baidu.com/view/261058.htm  多态性就是多种表现形式,具体来说,可以用"一个对外接口,多个内在实现方法"表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。

  “多态性”一词最早用于生物学,指同一种族的生物体具有相同的特性。在面向对象理论中,多态性的定义是:同一操作作用于不同的类的实例,将产生不同的执行结果,即不同类的对象收到相同的消息时,得到不同的结果。多态性包含编译时的多态性 运行时的多态性两大类。

  动态多态是指发出同样的消息被不同类型的对象接收时,有可能导致完全不同的行为。即,在用户不作任何干预的环境下,类的成员函数的行为能根据

  调用它的对象类型自动作出适应性调整,而且调整是发生在程序运行时。

  多态是面向对象程序设计的重要特征之一。是扩展性在“继承”之后的又一重大表现 。

  举例子说明一下:

  #include <iostream.h>

  class A {

  public:

  virtual void test() { cout<<"aaa"<<endl; } //运行时的多态性,如果不加virtual就是编译时的多态

  //void test() { cout<<"aaa"<<endl; }//编译时的多态性

  };

  class B:public A

  {

  public:

  void test() {cout<<"bbb"<<endl;}

  };

  class C:public B

  {

  public:

  void test() {cout<<"ccc"<<endl;}

  };

  void main()

  {

  C cc;

  A *p=&cc;

  p->test();

  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值