zoukankan      html  css  js  c++  java
  • 多态概念,C++

    多态:     
          ★ 多态性是面向对象设计语言的基本特征之一。仅仅是将数据和函数捆绑在一起,进行类的封装,使用一些简单的继承,还不能算是真正应用了面向对象的设计思想。多态性是面向对象的精髓。多态性可以简单地概括为“一个接口,多种方法”,前面讲过的函数重载就是一种简单的多态,一个函数名(调用接口)对应着几个不同的函数原型(方法)。

          ★ 通常是指对于同一个消息、同一种调用,在不同的场合,不同的情况下,执行不同的行为

    设计多态的主要目的是定义好一个祖先类,并定义一些虚函数(接口),但在这个接口函数中并不给出具体的实现,或者只是一些简单的实现,这个工作留给后代去具体实现。



    多态与虚函数:
          ★多态性是指同一个操作作用于不同的对象就会产生不同的响应;多态性分为静态多态性动态多态性,其中函数重载运算符重载属于静态多态性, 虚函数属于动态多态性。



    静态联编(静态绑定):
          ★程序调用函数时,具体应使用哪个代码块是由编译器决定的。以函数重载为例,C++编译器根据传递给函数的参数和函数名决定具体要使用哪一个函数,称为联编(binding)
          ★编译器可以在编译过程中完成这种联编,在编译过程中进行的联编叫静态联编(static binding)早期联编(early binding)



    动态联编:
           在一些场合下,编译器无法在编译过程中完成联编,必须在程序运行时完成选择,因此编译器必须提供这么一套称为“动态联编(dynamic binding)的机制,也叫晚期联编(late binding)C++通过虚函数来实现动态联编





  • 相关阅读:
    Matlab smooth函数原理
    Pandas中的高级索引loc、iloc、ix精简概括
    QT常见错误:"multiple definition of xxx"
    Github术语解释
    数据反转 LSB
    LSB最低有效位和MSB最高有效位
    Modbus通信CRC16校验程序
    CRC16常见几个标准的算法及C语言实现
    DB9 公头母头引脚定义及连接
    hdu 2577 How to Type(dp)
  • 原文地址:https://www.cnblogs.com/meihao1203/p/9363960.html
Copyright © 2011-2022 走看看