C++类型参数化

 

C++程序设计语言继承于C程序设计语言并且增加面向对象的程序设计思想。面向过程的编程和面向对象的开发设计编程思想的区别在于数据的处理类型。C语言的程序设计基于基础的数据类型。结构体struct的概念设计是基础数据类型数据的组合。C++程序设计的开发增加类class的数据构建模型。数据模型不具有内存分配的消耗。

 

C++类型参数化是面向对象程序设计中对数据类型的一种抽象。对象object是类class的具体实例化。自由的分配内存中会有内存区块使用于存放对象数据。C++的程序设计随着项目组成员的增大,管理项目复杂度的困难随即产生。项目的复杂度有开发人员的复杂度和项目源代码的复杂度。继承,封装和多态是面向对象程序设计的三大特性。继承实现数据的共享抽取,类似享元设计模式。方法的抽象是会生成抽象的数据方法。

 

抽象的方法是一种方法的定义模型。方法对象和函数对象,以及实例对象有区别。方法对象在计算机内存中是不占用可访问随机运行内存。实例对象是计算机操作系统栈内存和内存工作空间的数据具体体现。数据存储于计算机内存空间之中,对应着不同的计算机底层存储硬件。

 

计算机编程是管理项目复杂度。项目的复杂度十分令人头疼。代码量的递增会增加程序员的开发和阅读代码的难度。重复使用的类属性和方法会抽取出来放在公有父类之中。子类会继承引用父类的属性和方法。方法的建模抽象程度更高的概念是把数据参数的类型和函数返回值的类型抽象成数据类型T。元数据的数据类型对数据类型数据的更上一层次的抽取。抽取方式可以重复利用计算机编程开发的源代码空间和计算机的运行内存空间。C++类型参数化有关键字template实现。类型参数化模版的实例化具体会生成一个函数function模型。方法函数的返回值类型和形参数据类型具体实例化为程序设计语言的具体设计数据对象类型。

模版方法的程序设计模式就是这种的设计概念。模版是抽象层次和调用层次更多更高的设计。Java中的类型参数化的设计概念通过数据类型T实现。Java中的泛型程序设计在项目的初始架构阶段和中期的重构阶段很有用处。

 

类型参数化作用于类class中和方法function中。项目组代码的重复利用需要使用代码抽取的方式。类型参数化是对数据类型的一种抽象抽取。