博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#面向对象系列2(多态性)
阅读量:6813 次
发布时间:2019-06-26

本文共 706 字,大约阅读时间需要 2 分钟。

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

《1》编译时的的多态性。编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数,返回的类型等信息决定实现何种操作。

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

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

虚方法

当类中的方法声明前加上virtual修饰符时,我们称之为虚方法,反之为非虚方法。

class  MyBaseClass

{

     public   virtual   string     VirtualMethod()

        {

                return  "这个方法是虚方法";

        }

}

重写虚函数

普通方法的重载指的是,类中的两个以上的方法(包括隐藏的继承而来的方法),取的名字相同,只要使用的是参数或者参数的个数不同,编译器便知道在何种的情况下调用何种方法,而对于基类中的方法重载的另一种特殊形式,在派生类中重新定义此虚函数时,要求的是方法名称,返回值类型,参数类型,参数表中的参数个数。类型顺序都必须与基类中虚方法完全一致,在派生类中对虚函数方法的重载加上override关键字,而且不能有new ,static,virtual等修饰符

class  MyDerivedClass :MyBaseClass

{

    public   override    string    VirtualMethod()

        {

                              return "这个方法是override方法";

        } }

转载地址:http://dtmwl.baihongyu.com/

你可能感兴趣的文章
mac 下 word 2011 使用笔记
查看>>
mac设置多个屏幕显示的问题
查看>>
智能指针shared_ptr, auto_ptr, scoped_ptr, weak_ptr总结
查看>>
【Todo】已经打开的页面需要清掉的坑
查看>>
常量、变量;基本数据类型;input()、if、while、break、continue
查看>>
仿联想商城laravel实战---7、lavarel中如何给用户发送邮件
查看>>
如何遮挡电影英汉字幕
查看>>
(转)Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
查看>>
函数(一)
查看>>
APICloud连接夜神模拟器--博客园老牛大讲堂
查看>>
C# 访问MongoDB 通用方法类
查看>>
2.基础核心学习
查看>>
ADO.NET 数据库操作类
查看>>
转载 侃一侃编译原理的“文法” 作者 :博客网 my笔触
查看>>
Js获取处理日期时间
查看>>
PHP输出当前进程所有变量 / 常量 / 模块 / 函数 / 类
查看>>
django获取客户ip
查看>>
【分块】bzoj2120 数颜色
查看>>
【权值分块】bzoj1588 [HNOI2002]营业额统计
查看>>
python之类介绍
查看>>