`
jenfeezo
  • 浏览: 11355 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

多态性

阅读更多
在面试时,如果问基础的话,基本上都会涉及重载、覆盖、多态这三个概念。前两个比较容易理解,多态还是需要费点劲的。
多态,有两种理解方式:不同的函数可以用相同的一个函数名,也就是重载的概念。
另一种是同一对象根据不同的消息执行相应的行为,也可以这样认为发送消息给某一个对象,让对象自行选择哪种相应的行为。
根据上述两种方式,所以多态可以分为静态多态性和动态多态性。
静态多态性指的是程序在编译时,系统就能决定调用哪个函数,如重载。
动态多态性指在运行中才能动态确定操作指针所指的对象,主要通过虚函数和重写来实现。
java 的多态机制遵循一个原则:当父类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法
概念理解起来有点抽象。还是看个例子吧。
静态多态性:
add(int a);
add(int a,int b);
add(double a);
add(double a,double b);

动态多态性
public class A{ }

public class AB extends A{ }

public class AC extends A{ }

public class test{
  go(A a);
}

这个方法接收的是基类参数,当子类传给该方法时,执行的是相应子类的方法。如可以如此调用 go(new AB() );go(new AC() )
分享到:
评论

相关推荐

    C++实验报告多态性.doc

    【实验报告——C++中的多态性】 在C++中,多态性是面向对象编程的一个核心特性,它允许我们使用一个基类的指针或引用来调用派生类中重写的方法,从而实现不同类对象的统一处理。本实验报告主要探讨了如何在C++中...

    实验4 多态性的应用.doc

    面向对象程序设计中的多态性应用 在面向对象程序设计中,多态性是指一个实体可以以多种形式出现的能力。这种能力可以帮助我们更好地描述和模拟现实世界中的复杂系统。在本实验中,我们将通过一个实践项目来了解多态...

    多态性实验报告-实验七

    ### 多态性实验报告-实验七 #### 实验背景 本实验是《面向对象程序设计》课程中的一个环节,旨在通过实践加深学生对多态性的理解和应用能力。多态性是面向对象编程的一个核心特性,它允许子类对象可以被当作父类...

    C++中多态性的演示

    C++中的多态性示例 在面向对象编程(Object-Oriented Programming)中,多态性是指同一个函数或操作符可以根据对象的类型或类别而具有不同的行为。C++语言通过函数重载、运算符重载和虚函数来实现多态性。本文将...

    多态性的理解

    ### 多态性的理解 #### 一、多态性概述 多态性是面向对象编程中的一个重要特性,它使得一个接口或方法能够适用于多种类型的数据。在Java中,多态性主要通过方法重载(overloading)、方法重写(overriding)以及...

    实验四 多态性及综合应用

    1. **理解编译时的多态性和运行时的多态性**:通过本实验,学生将深入理解多态性的概念及其在C++中的两种表现形式——编译时多态性和运行时多态性。编译时多态性主要通过重载函数和运算符实现,而运行时多态性则依赖...

    c++多态性与虚函数练习题

    ### C++多态性与虚函数知识点解析 #### 一、多态性的概念 多态性是面向对象编程的一个核心特性,它允许我们通过基类的接口来操作派生类的对象。这种特性使得代码更加灵活且易于扩展。在C++中,多态性主要通过虚函数...

    C++实验六 多态性和虚函数的应用 课程 实验报告

    在C++编程语言中,多态性和虚函数是面向对象编程的重要特性,它们允许程序员创建灵活且可扩展的代码结构。本次实验旨在深入理解和熟练运用这两个概念。实验报告的标题和描述表明,这是一个关于C++实验,特别是针对多...

    java类和对象继承多态性

    java类和对象继承多态性 java类和对象继承多态性是java语言中的一种基本机制,它允许开发者创建一个新的类,并继承已有的类的属性和行为。这种机制可以提高代码的复用性和维护性。 继承是java语言中的一种机制,...

    多态性实验

    在C++编程语言中,多态性是面向对象编程的核心概念之一,它允许不同类型的对象对同一消息作出不同的响应。本实验旨在让学生深入理解和熟练应用多态性,从而更好地进行类的设计、继承与派生。 首先,实验要求学生...

    编程中的多态性

    多态性是面向对象程序设计中的一个核心概念,它指的是同一操作作用于不同的对象,可以有不同的解释和不同的执行结果。也就是说,即使多个对象来自不同的类,如果它们对同一消息做出响应,那么它们被认为是多态的。在...

    动态多态性和静态多态性

    C++中的多态性实例,包括静态多态性和动态多态性(运算符的重载和虚函数)

    实验7 多态性和运算符重载.doc

    "实验7 多态性和运算符重载" 多态性是指类族中具有相似功能的不同函数使用同一名称来实现,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。C++中的多态的实现形式包括函数重载、运算符重载、虚函数...

    PHP 5.0中多态性的实现方案

    以下是一个简单的多态性示例,展示了如何使用抽象类和接口实现多态性: ```php interface Person { public function acceptFeedback(string $comment, string $source); } abstract class BasePerson { abstract...

    虚函数与多态性.ppt

    虚函数与多态性是面向对象编程中的核心概念,它们主要应用于C++语言。多态性(Polymorphism)指的是同一个标识符(如函数名)可以有不同的解释或实现,这在编程中通常表现为一个接口可以有多种不同的行为。重载函数...

    多态性实现机制

    ### C++多态性实现机制 #### 一、引言 多态性是面向对象编程的一个核心特性,它允许子类对象可以被当作其父类对象来使用,从而提高了代码的复用性和灵活性。在C++中,多态性的实现主要依赖于虚函数机制。本文将...

    关于多态性的经典例子

    在C#编程语言中,多态性(Polymorphism)是一项核心特性,它允许我们使用一个接口或基类引用不同的派生类型。多态性在面向对象编程中扮演着至关重要的角色,因为它提供了代码的灵活性、可重用性和扩展性。下面我们将...

    微卫星DNA序列完整性对多态性的影响

    微卫星DNA序列完整性对多态性的影响 微卫星DNA序列,也被称为简单序列重复(Simple Sequence Repeats,SSRs)或短串联重复(Short Tandem Repeats,STRs),是一类特殊的DNA序列,其基本特征是1-6个碱基的串联重复...

    c++多态性答案

    "c++多态性答案" 根据提供的文件信息,我们可以总结出以下知识点: 1. C++支持两种多态性:编译时多态性和运行时多态性。编译时多态性通过函数重载和模板实现,而运行时多态性通过虚函数实现。 2. 虚函数的声明...

Global site tag (gtag.js) - Google Analytics