zoukankan      html  css  js  c++  java
  • 重载和重写的区别

    1. 重载(overload):简单的说就是参数列表不同,个数不同/个数相同但类型不同/个数,类型都不相同.也可以是类型一样但顺序不一样.

    class Program
        {
            static void Main(string[] args)
            {
                int a = MyMath.Add(12, 36);
                Console.WriteLine("整数相加结果:{0}",a);
    
                float b = MyMath.Add(12, 36.36f);
                Console.WriteLine("浮点数相加结果:{0}",b);
    
                float ff = MyMath.Add(36.36f, 23);
                Console.WriteLine("浮点数和整数相加结果是:{0}",ff);
    
                double d = MyMath.Add(42.52, 23);
                Console.WriteLine("双精浮点数和整数相加结果是:{0}",d);
    
            }
        }
    View Code
    class MyMath
        {
    
            public static int Add(int a, int b)
            {
                return a + b;
            }
    
            public static float Add(float a, float f)
            {
                return a + f;
            }
    
            public static double Add(double a, double f)
            {
                return a + f;
            }
    
            public static decimal Add(decimal a, decimal f)
            {
                return a + f;
            }
    
            //参数的类型相同,但顺序不同,构成重载。
            public static float Add(int a, float f)
            {
                return a + f;
            }
    
            public static float Add(float f, int a)
            {
                return a + f;
            }
           //参数的类型相同,个数不同,,构成重载
           public static int Add(int a)
            {
                return a;
            }
    
        }       
    View Code

     2.重写(override):重写是用override来修饰方法,属性,索引器或事件,基类中函数的重写,为了实现多态

  • 相关阅读:
    关于视图的一些认识
    __autoload()尝试加载未定义的类
    php正则逆向引用与子模式分析
    常州day1p4
    Hello World
    Linux安装配置jdk
    使用http3访问服务
    后端访问sso后,如何返回前端vue页面(后端redirect跳转,vue代理,axios带参)
    linux常用命令
    使用nexus搭建npm私服
  • 原文地址:https://www.cnblogs.com/szmh9192/p/8892678.html
Copyright © 2011-2022 走看看