c#多态的使用

本文详细介绍了多态性的概念,包括静态和动态多态性,并通过C#代码示例展示了如何在实际编程中实现多态。多态性允许不同的子类重写父类方法,通过父类引用调用子类方法,实现代码的可复用性和可扩展性。文章强调了多态在提高程序可维护性和可扩充性方面的重要作用。
摘要由CSDN通过智能技术生成

一,定义

多态

          1,多态是同一个行为具有多个不同表现形式或形态的能力。

           2,多人做一件事情,结果不一样

多态性可以是静态的或动态的。在静态多态性中,方法的响应是在编译时发生的。在动态多态性中,方法的响应是在运行时发生的。

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

动态多态性是通过 抽象类 和 虚方法 实现的。

二,实现多态的两个要素

1)子类重写父类方法

2)使用父类的类型(子类转换为父类:向上转型)

public abstract class Shape

    {

        public abstract double GetArea();

        public abstract double GetPerimeter();

    }

    class Circle : Shape

    {

        private double r;

        public double R

        {

            get{return r;}          

            set{r = value;}

        }

        public Circle(double r)

        {

            this.r = r;

        }

        public override double GetArea()

        {

            return Math.PI * this.R * this.R;

        }

        public override double GetPerimeter()

        {

            return 2 * Math.PI * this.R;

        }

    }

三,实现多态的好处

1. 应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的

可复用性。//继承 
2. 派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护

性。 //多态的真正作用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值