• 方法重载和方法重写


    一、C#语法规则:

    方法重载:同一个类中,方法名相同,参数(类型或数量)不同,方法体不同;

    方法重写:不同的类中,方法名相同,参数(类型和数量)相同,方法体不同;

    关键字: vatiral(标注需要被重写的方法) 、override(标注用于重写的方法)

    二、实践

    1、方法重写

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    
    
    namespace _02Test
    {
    
        class Program
        {
    
            static void Main(string[] args)
            {
    
                Teacher T1 = new Teacher();
                T1.Address();
    
                Myteacher M1 = new Myteacher();
                M1.Address();
    
                Console.ReadKey();
            }
        }
    
        public class Teacher
        {
    
            public virtual void Address()
            {
                Console.WriteLine("这是基类的虚方法!");
            }
        }
    
        public class Myteacher : Teacher //注意具有父子关系的类才能重写
        {
    
            public override void Address()
            {
                Console.WriteLine("这里重写基类的虚方法!");
            }
        }
    }
    

    方法的重载

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    
    
    namespace _02Test
    {
    
        class Program
        {
    
            static void Main(string[] args)
            {
    
                Test T1 = new Test();
             
                Console.WriteLine(T1.Add(2));
                Console.WriteLine(T1.Add(1, 2));
                Console.WriteLine(T1.Add("3"));
                Console.WriteLine(T1.Add("3","5"));
                //  T1.Add(1,);//此时VS会自动提示有几个重载,选择一个你需要的。重载的目的就是适应多样的需要。
    
                Console.ReadKey();
            }
        }
    
        public class Test
        {
    
            public int Add(int i)
            {
                return i;
            }
    
            public int Add(int i,int j)
            {
                return i + j;
            }
    
            public string Add(string i)
            {
                return i ;
            }
    
            public string Add(string i,string j) 
            {
                return i + j; //此处加号起连接符作用
            }
    
        }
    
     
    }
  • 相关阅读:
    ubuntu更强大的包管理工具:aptitude
    ubuntu下载自带的java-1.8
    [机器学习] ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)
    不能下载程序
    为什么你的电脑会变得越来越慢?
    win7常用键
    C# 遍历枚举(枚举是目的,遍历(获取)是手段)
    基于PCIe的高速接口设计
    Xilinx中的xapp1052理解
    把Xilinx的IPCORE解密成源代码的方法
  • 原文地址:https://www.cnblogs.com/hao-1234-1234/p/6104872.html
Copyright © 2020-2023  润新知