类属
参数多态的机制
类属是面向对象编程中的参数多态机制,通过将类型抽象为参数,构建适用于多种数据类型的通用模板,实现代码复用。它以类型无关的逻辑为核心,以变元表示类型相关部分,C++模板(函数模板、类模板)和C#泛型均为其典型实现。类属类本身不可实例化,需替换形式参数为实际类型生成具体类,分为无约束类属(接受任意类型)和受约束类属(需满足特定属性)。
基本介绍
面向对象技术中,对象在收到信息后要予以响应。不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。多态有多重不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多态称为特定多态。
在面向对象技术中,对象在收到信息后要予以响应,不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。在使用多态技术时,用户可以发送一个通用的消息,而实现的细节则由接受对象自行决定,这样同一消息就可以调用不同的方法。多态有多种不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多态成为特定多态。
参数多态应用范围比较广泛,被称为最纯的多态。这是因为同一对象、函数或过程能以一致的形式用于不同的类型。包含多态最常见的例子就是子类型化,即一个类型是另一个类型的子类型。过载多态是同一变量被用来表示不同的功能,通过上下文语义决定一个类所代表的功能。即通过语法对不同语义的对象使用相同的名,编译能过消除这一模糊。强制多态是通过语义操作把一个变元的类型加以变换,以符合一个函数的要求,如果不做这一强制性变换将出现类型错误。类型的变换可在编译时完成,通常是隐式地进行,当然也可以在动态运行时来做。
类属性
类属类(Generic Class)仅描述了适用于紧凑类型的通用模板,由于其中所处理对象的数据类型尚未确定,因而程序员不可用类属类直接创建对象实例,即一个类属类并不是一种真正的类类型。
类属类必须经过实例化后才能成为可创建对象实例的类类型。类属类的实例化是指用某一数据类型替代类属类的类型参数。类属类定义中给出的类型参数称为形式类属参数,类属类实例化时给出的类型参数称为实际类属参数。如果类属类实例化的实际类属参数可以是任何类型,那么这种类属类称为无约束类属类。然而在某些情况下,类属类可能要求实际类属参数必须具有某些特殊的性质,以使得在类属类中可应用某些特殊操作,这种类属类称为受约束类属类。
参考资料
基本概念.希赛网.2014-01-03
最新修订时间:2025-09-22 09:46
目录
概述
基本介绍
参考资料