多态的支撑系统:面向多态编程

Posted feng9exe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多态的支撑系统:面向多态编程相关的知识,希望对你有一定的参考价值。

面向多态编程是面向抽象编程;

多态的本质是抽象;

 

一、多态的分类:

1、由函数到方法,隐藏缺省参量从而实现抽象;面向接口与继承;

2、泛型:参量化类型抽象出共同的结构和行为;

3、高阶函数:抽象出共同的基础操作;

4、运行时类型信息;

 

二、多态的支持系统分为两类:

1、类型支持;

2、函数调用的解释支持;

 

三、类型支持

语言层面的支持:

接口、继承、泛型、运行时类型信息

编程语言提供的抽象关键字

https://www.cnblogs.com/feng9exe/p/9876045.html

 

内存模型的支持:

结构类型的附加信息:虚函数表、运行时类型信息rtti

 

编译器对类型模型的支持:

编译器自动合成虚函数表并添加到内存模型中

 

四、函数调用支持

编译与运行时的支撑:函数调用的解释

 

编译器解释chunk;

运行时系统解释;

 

函数调用解释的本质:目标函数的动态查询、绑定与调用;

 

以上是关于多态的支撑系统:面向多态编程的主要内容,如果未能解决你的问题,请参考以下文章

Python面向对象编程之继承与多态详解

面向对象的多态详解 !!

Java面向对象编程三大特征 - 多态

Python面向对象编程——多态多态性鸭子类型

Java面向对象(OOP)--面向对象三大特性之一:多态(多态方法绑定instanceof和类型转换(重写重载和多态的关系))

Golang-面向对象编程三大特性-多态