`
onlyor
  • 浏览: 384994 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

多态分类:强制多态、参数多态、过载多态、包含多态的理解

    博客分类:
  • java
阅读更多

多态分类:强制多态、参数多态、过载多态、包含多态的理解

 

多态分为两种:通用的多态特定的多态。两者的区别是前者对工作的类型不加限制,允许对不同类型的值执行相同的代码;后者只对有限数量的类型有效,而且对不同类型的值可能要执行不同的代码。

通用的多态又分为参数多态(parametric)和包含多态(inclusion);

特定的多态分为过载多态(overloading)和强制多态(coercion)。

 

  • 强制多态:

编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求。程序设计语言中基本类型的大多数操作符,在发生不同类型的数据进行混合运算时,编译程序一般都会进行强制多态。程序员也可以显示地进行强制多态的操作(Casting)。举个例子,比如,int+double,编译系统一般会把int转换为double,然后执行double+double运算,这个int-》double的转换,就实现了强制多态,即可是隐式的,也可显式转换。

 

  • 过载(overloading)多态:

同一个名(操作符﹑函数名)在不同的上下文中有不同的类型。程序设计语言中基本类型的大多数操作符都是过载多态的。通俗的讲法,就是c++中的函数重载。在此处中“overload”译为“过载”,其实就是所谓的“重载”,也许“overload”就应翻译为“过载,重载”吧,那“override”就只能是“覆盖”了。

 

  • 参数多态:

采用参数化模板,通过给出不同的类型参数,使得一个结构有多种类型。模板、泛型

 

  • 包含多态:

同样的操作可用于一个类型及其子类型。(注意是子类型,不是子类。)包含多态一般需要进行运行时的类型检查。virtual、override机制。

分享到:
评论

相关推荐

    计算机后端-Java-Java核心基础-第14章 面向对象06 07. 多态练习:调用方法和属性.avi

    计算机后端-Java-Java核心基础-第14章 面向对象06 07. 多态练习:调用方法和属性.avi

    290.288.JAVA基础教程_面向对象(中)-多态练习:调用方法和属性(290).rar

    在学习过程中,你可能会遇到的概念和关键字包括:类、对象、继承、抽象类、接口、方法重写、方法重载、动态绑定、super关键字、instanceof关键字等。理解并熟练掌握这些概念对于成为一名合格的Java开发者至关重要。 ...

    实现多态:虚方法

    通过这种方式,抽象基类可以强制派生类遵循一定的行为规范,同时保留多态的特性。 1. **抽象类的定义**:使用`abstract`关键字定义一个类,使其成为抽象类。抽象类中的抽象方法没有具体的实现,必须在派生类中进行...

    day10_07面向对象的基本特征三:多态.avi

    面向对象的基本特征三:多态的理解(java) * 多态:多种形态 * * 变量的引用形式: * (1)本态引用:左边的变量与右边的对象是同一种类型 * (2)多态引用:左边的变量是父类类型,右边的对象是子类的对象 ...

    java多态理解

    Java多态理解 java中的多态性是面向对象编程的精髓所在。多态性是指父类引用指向子类对象,例如父类Animal,子类Cat和Dog。其中Animal可以是类也可以是接口,Cat和Dog是继承或实现Animal的子类。Animal animal = ...

    对java中多态理解

    对 Java 中多态理解 Java 中的多态是指在不同的情况下可以有不同的行为,多态是面向对象编程的一种基本特征。多态的实现是通过方法重载和方法重写来实现的。 在 Java 中,多态可以分为两种:编译时多态和运行时...

    对于多态的理解

    ### 对于Java中多态的理解 #### 多态的基本概念 多态是面向对象编程语言中的一个重要特性,它使得程序可以在运行时确定具体的操作对象及其行为。简而言之,多态意味着一个接口可以有多种不同的实现,或者一个实体...

    221102多态.rar

    标题中的“221102多态.rar”暗示了本次的主题是关于计算机编程中的多态性(Polymorphism)概念,可能是一个教学材料或...通过深入学习和理解多态,开发者可以更好地利用OOP的优势,创建出更加灵活、可维护的软件系统。

    原来多态还可以这样

    1. 静态多态:在编译期间就能确定调用哪个函数,例如C++中的函数重载,可以根据传入参数的不同选择合适的函数执行。这使得代码更易读,因为函数名可以反映其功能。 2. 动态多态:在运行时决定调用哪个函数,如C++中...

    java的编译时多态和运行时多态

    Java 编译时多态和运行时多态 Java 编译时多态和运行时多态是 Java 语言中两个重要的...编译时多态是指在编译期根据参数列表的不同来区分不同的函数,而运行时多态是指在运行时根据对象的实际类型来调用相应的方法。

    多态的练习案例

    1. **方法重载(Overloading)**:这是多态的一种形式,指的是在一个类中可以有多个同名方法,但它们的参数列表不同(如参数数量、类型或顺序不同)。这样,编译器可以根据传入的实际参数来决定调用哪个方法。通过...

    多态PPT文件!!!!

    在这个名为“多态PPT文件”的资源中,我们可以期待深入理解这一概念。 多态可以分为静态多态和动态多态。静态多态通常在编译时确定,比如C++中的函数重载和运算符重载。而动态多态则在运行时才决定,主要通过继承和...

    c/c++面试题(一些常出的面试题,包括多态,继承,函数参数等常考的内容)

    C++支持多种参数传递方式,包括按值传递、按引用传递和按指针传递。每种方式都有其适用场景和优缺点。按值传递会复制实参的值,不改变原变量;按引用传递不会复制,而是直接操作原变量;按指针传递则通过指针间接...

    第八章 多态

    在编程领域,多态(Polymorphism)是面向对象编程中的一个核心概念,它允许...理解并熟练掌握多态,对于成为一个优秀的程序员至关重要。在实际编程中,我们应该根据项目需求和性能要求,合理地运用静态多态和动态多态。

    Java 语言程序设计:第5章接口多态.ppt

    多态的应用包括: * 方法重写 * 方法重载 * 运算符重载 5.5 构造方法与多态 构造方法是 Java 语言中的一种特殊方法,它用于初始化对象的状态。多态可以与构造方法结合使用,以实现更加灵活的编程。 5.6 内部类 ...

    java 多态 经典讲解

    #### 一、理解Java多态 多态,作为面向对象编程的三大特性之一,是继抽象和继承之后的关键概念。它允许我们以统一的接口处理不同类型的对象,增强了代码的灵活性和可扩展性。在Java中,多态主要通过两种方式体现:*...

    多态代码实例

    本文将通过两个具体的代码实例,帮助你深入理解和掌握多态和虚函数的用法。 首先,我们需要理解多态的基本定义。多态是指一个接口可以有多种不同的表现形式或行为。在面向对象编程中,多态分为静态多态(编译时多态...

    php多态和抽象类,php教程

    接口可以看作是强制性的多态,因为任何实现接口的类都必须提供接口中定义的所有方法的实现。通过观看这个视频,学习者可以了解如何声明和使用接口,以及接口如何与多态和抽象类结合,以增强代码的可扩展性和模块化。...

    实验8 多态:虚函数1

    实验8的主题是“多态:虚函数1”,主要目的是学习虚函数的应用以及通过异类数组实现多态调用。在C#编程语言中,虚函数是实现多态性的重要机制,允许子类重写父类的方法,使得父类指针可以调用子类的特定实现。 首先...

    VS2010 C# 多态实例

    在VS2010中,创建多态实例的过程通常包括以下几个步骤: 1. 定义基类:首先,我们需要定义一个基类,该类中包含一些虚方法或属性。 ```csharp public class BaseClass { public virtual void Method() { Console...

Global site tag (gtag.js) - Google Analytics