• C#多态性(函数重载)


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

    多态性意味着有多重形式,在面向对象编程范式中,多态性往往表现为“一个接口,多个功能”

    多态性可以是静态的也可以是动态的,在静态多态性中,函数的响应是在编译的时候发生的,在动态多态性中,函数的响应是在运行时发生的。

    在C#中,每个类型都是多态的,因为包括用户定义类型在内的所有类型都继承自Object

    1、静态多态性

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

    函数重载和java类似

    2、动态多态性

      C#可以使用关键字abstract创建抽象类,用于提供接口的部分类的实现,当一个派生类继承自该抽象类的时候,实现即完成。抽象类中包含抽象方法,抽象方法可以被派生类实现,派生类具有更专业的功能

      抽象类的一些规则:

        不能创建一个抽象类的实例

        不能在一个抽象类外部声明一个抽象方法

        **通过在类定义前面放置关键字sealed,可以将类声明为密封类,当一个类被声明为sealed时,该类不能被继承。抽象类不能被声明为sealed

      当有一个定义在类中的函数需要在继承类中实现时,可以使用虚方法

        虚方法是使用关键字virtual声明的

        虚方法可以在不同的继承类中有不同的实现

        对虚方法的调用是在运行时发生的

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

  • 相关阅读:
    C# 反射
    jquery 循环绑定click的问题
    socket 编程
    EF code first出现错误:列名 Discriminator 无效
    C# 两个类是否继承关系
    C# MD5,hmacSHA1
    文件分块上传
    读写CSV到DataTable
    ajax 提交数组 泛型集合(嵌套集合)
    Json中Date映射到model
  • 原文地址:https://www.cnblogs.com/xing-29391/p/14591739.html
Copyright © 2020-2023  润新知