C#多态性的理解与梳理


这篇文章出发点是对我认为对在C#多态性方面的理解过程中易出现差错的地方做一个详细记录与梳理。

C#的多态性

含义

多态是同一个行为具有多个不同表现形式或形态的能力。多态性意味着有多重形式。在面向对象编程范式中,多态性往往表现为"一个接口,多个功能"。多态性可以是静态的或动态的。在静态多态性中,函数的响应是在编译时发生的。在动态多态性中,函数的响应是在运行时发生的。在 C# 中,每个类型都是多态的,因为包括用户定义类型在内的所有类型都继承自 Object。概要理解来说,多态就是同一个接口,使用不同的实例而执行不同操作。

静态多态性

在编译时,函数和对象的连接机制被称为早期绑定,也被称为静态绑定。C# 提供了两种技术来实现静态多态性。分别为:函数重载与运算符重载。

函数重载

您可以在同一个范围内对相同的函数名有多个定义。函数的定义必须彼此不同,可以是参数列表中的参数类型不同,也可以是参数个数不同。不能重载只有返回类型不同的函数声明!举例如下图所示:

using System;

namespace _08___多态性
{
   
    public class Test
    {
   
        public int sum(int a, int b)
        {
   
            return a + b;
        }
        public int sum(int a, int b,int c)
        {
   
            return a + b + c;
        }
    }
        

    class Program
    {
   
        static void Main(string[] args)
        {
   
            Test t1 = new Test();
            int result1 = t1.sum(1, 2);
            int result2 = t1.sum(1, 2, 3);
            Console.WriteLine("result1:{0}"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值