• c#面向对象系列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方法";

            } }

  • 相关阅读:
    将博客搬至CSDN
    JAVA代码备注
    清空数据库SQL
    实战ASP.NET访问共享文件夹(含详细操作步骤)
    我希望我知道的七个JavaScript技巧 译(转)
    ASP.NET获取客户端网卡使用的MAC地址信息
    JS中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
    JS屏幕距离参数
    jQuery插件开发精品教程,让你的jQuery提升一个台阶
    jQuery编程的最佳实践
  • 原文地址:https://www.cnblogs.com/zhijianliutang/p/2250664.html
Copyright © 2020-2023  润新知