C#中的多态性

“多态性”一词最早用于生物学,指同一种族的生物体具有相同的特性。

在C#中,多态性的定义是:同一操作作用于不同的类的实例,不同的类将进行不同的解释,最后产生不同的执行结果。C#支持两种类型的多态性:

编译时的多态性

编译时的多态性是通过重载来实现的。我们在第十一章中介绍了方法重载的操作符重载,它们都实现了编译时的多态性。

对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。

运行时的多态性

运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。C#中,运行时的多态性通过虚成员实现。

编译时的多态性为我们提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的特点。

时间: 2024-11-10 00:23:48

C#中的多态性的相关文章

理解和运用PHP中的多态性[译]_php文摘

什么是多态性? Polymorphism(多态性)是一个很长的单词,但是它表示的是一个非常简单的概念. 多态性描述了在面向对象编程模式中类有不同的功能,而共享一个通用的接口. 多态性的优点是,并不需要知道它使用的是哪一个类,因为他们都用同样的方式与不同的类的代码工作. 可将多态性类比成现实世界的一个按钮.大家都知道如何使用一个按钮:您只需给它施加压力.一个按钮"确实是这样",然而,取决于它和什么连接和使用它的上下文 - 但结果并不影响它是如何使用.如果你的老板告诉你按下一个按钮,您已经

PHP 5.0中多态性的实现方案浅析

    提要:本文将讨论多态性的概念及其在面向对象设计中的应用,还将分析如何在PHP 5中使用多态性以及存在的优缺点. PHP的最新发行版本中已经实现了对迟绑定的支持.当然,在使用其迟绑定功能时还存在很多问题.如果你使用的是更旧版本的PHP(我的服务器上运行的是PHP 5.0.1版本),那么你可能发现其中缺乏对于迟绑定的支持.因此,请注意本文中的代码有可能无法工作在你特定的PHP 5版本中. 一. PHP 5和多态性 本文想讨论面向对象编程中最为重要的部分之一--多态性的设计.为了说明问题,我使

编程设计:PHP 5中多态性的实现方案浅析

作者:朱先忠编译 提要:本文将讨论多态性的概念及其在面向对象设计中的应用,还将分析如何在PHP 5中使用多态性以及存在的优缺点. PHP的最新发行版本中已经实现了对迟绑定的支持.当然,在使用其迟绑定功能时还存在很多问题.如果你使用的是更旧版本的PHP(我的服务器上运行的是PHP 5.0.1版本),那么你可能发现其中缺乏对于迟绑定的支持.因此,请注意本文中的代码有可能无法工作在你特定的PHP 5版本中. 一. PHP 5和多态性 本文想讨论面向对象编程中最为重要的部分之一--多态性的设计.为了说明

多态性

在面向对象的系统中,多态性是一个非常重要的概念,它允许客户对一个对象进行操作,由对象来完成一系列的动作,具体实现哪个动作.如何实现由系统负责解释. 14.2.1 C#中的多态性 14.2.2 C#的虚方法 14.2.3 在派生类中对虚方法进行重载

C#多态性的概念及其应用

多态是面向对象编程中三大机制之一,其原理建立在"从父类继承而来的 子类可以转换为其父类"这个规则之上,换句话说,能用父类的地方,就能用 该类的子类.当从父类派生了很多子类时,由于每个子类都有其不同的代码实现, 所以当用父类来引用这些子类时,同样的操作而可以表现出不同的操作结果,这就 是所谓的多态. 1.了解什么是C#多态性 2.如何定义一个虚方法 3.如何重载一个虚方法 4.如何在程序中运用多态性 面向 对象程序设计中的另外一个重要概念是C#多态性.在运行时,可以通过指向基类 的指针,

Java中的instanceof关键字

instanceof是Java的一个二元操作符,和==,>,<是同一类东东.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据.举个例子: String s = "I AM an Object!"; boolean isObject = s instanceof Object; 我们声明了一个String对象引用,指向一个String对象,然后用instancof来测试它所指向的对象是否是Obj

C++中的虚函数和动态联编

  面向对象程序设计的基本观点是用程式来仿真大千世界,这使得它的各种根本特性非常人性化,如封装.继承.多态等等,而虚函数就是c++中实现多态性的主将.为了实现多态性,c++编译器也革命性地提供了动态联编(或叫晚捆绑)这一特征. 虚拟函数亦是mfc编程的关键所在,mfc编程主要有两种方法:一是响应各种消息,进行对应的消息处理.二就是重载并改写虚拟函数,来实现自己的某些要求或改变系统的某些默认处理. 虚函数的地位是如此的重要,对它进行穷根究底,力求能知其然并知其所以然 对我们编程能力的提高大有好处.

java 中的 instanceof

instanceof是Java的一个二元操作符,和==,>,<是同一类东东.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据.举个例子: String s = "I AM an Object!"; boolean isObject = s instanceof Object; 我们声明了一个String对象引用,指向一个String对象,然后用instancof来测试它所指向的对象是否是Obj

Java中的instanceof关键字在Android中的用法实例详解_java

在下面介绍Android中如何使用instanceof关键字开发更方便时,先来温习一下java中instanceof的概念. instanceof大部分的概念是这样定义的:instanceof是Java的一个二元操作符,和==,>,<是同一类东西.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据.举个栗子: String s = "I AM an Object!"; boolean isObj