c#面向对象---------多态

本文详细介绍了C#中的多态性,包括静态多态性(函数重载和运算符重载)和动态多态性(抽象类、虚方法及接口)。重点讲解了抽象类的规则、虚方法的使用以及接口的定义、成员和实现方式,强调了接口在多态性中的重要作用。
摘要由CSDN通过智能技术生成

多态

定义:
多态性意味着有多重形式。在面向对象编程范式中,多态性往往表现为"一个接口,多个功能"。
多态性可以是静态的或动态的。在静态多态性中,函数的响应是在编译时发生的。在动态多态性中,函数的响应是在运行时发生的。
《1》 静态多态性
在编译时,函数和对象的连接机制被称为早期绑定,也被称为静态绑定。C#提供了两种技术来实现静态多态性。分别为:
1.函数重载
可以在同一个范围内对相同的函数名有多个定义。函数的定义必须彼此不同,可以是参数列表中的参数类型不同,也可以是参数个数不同。不能重载只有返回类型不同的函数声明。
总结:函数名相同,函数的参数列表(参数类型,个数,不同类型的排列顺序)不同
2.运算符重载
《2》动态多态性
动态多态性是通过抽象类虚方法实现的。
(1)抽象
C#允许您使用关键字abstract创建抽象类,用于提供接口的部分类的实现。当一个派生类继承自该抽象类时,实现即完成。抽象类包含抽象方法,抽象方法可被派生类实现。派生类具有更专业的功能。
有关抽象类的一些规则:
1.不能创建一个抽象类的实例
2.不能在一个抽象类外部声明一个抽象方法。
3. 抽象函数只能在抽象类内声明,无法在正常类中使用。
4. 抽象类中可以声明正常函数

namespace 抽象
{
   abstract class Person
    {
        public abstract void Run();    //abstract 抽象方法必须在抽象类中

        public void Say()    //抽象类中可以声明正常的函数
        {
            Console.WriteLine("我每天的工作都很忙");
        }
    }
}

抽象类的继承

namespace 抽象
{
    class Student: Person      //继承了抽象类,则必须要实现抽象函数,实现=重写抽象函数(override)
    {
        public override void Run()
        {
            Console.WriteLine("我的生活很精彩");
        }
    }
}
namespace 抽象
{
    class Program
    {
        static void Main(string[] args)
        {
            Student st = new Student();
            st.Say(); //方法的调用
            st.Run();
            Console.R
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值