方法重载和方法重写

一、C#语法规则:

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

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

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

二、实践

1、方法重写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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; //此处加号起连接符作用
        }

    }

 
}
复制代码

 

posted @   hao_1234_1234  阅读(793)  评论(1编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示