zoukankan      html  css  js  c++  java
  • C# 面向对象之多态

    由于子类继承类父类,那么子类就拥有相同的行为,但子类的行为有时需要相互区别

    子类就需要覆写父类的方法来实现子类特有的行为,这样的技术在c#中就叫做多态。

    多态就是相同类型的对象调用相同的方法却表现出不同的现象

    使用virtual和override关键字实现重写方法

    只有基类成员声明为virtual和abstract时才能被派生类重写

    而如果子类想改变虚方法的实现行为,则必须使用override关键字

    最后执行结果为:

     但是这样的代码存在一个问题

    就是

    Animal animal=new Animal ();

     这个样的话毫无意义,因为这里的基类是为子类提供公共成员

    那么我们可以将基类创建为抽象类利用abstract关键字就可以防止这种情况发生。

    阻止派生类重写虚成员


    利用sealed关键字来实现

    如果在有个类来继承Horse并试图重写Voice方法就会收到错误信息

    使用新成员隐藏基类成员

    利用new关键字来实现

  • 相关阅读:
    去除文本多余空行
    自定义裁剪图片
    遍历文件目录下所有图片并保存到统一路径
    根据节点解析xml
    坐标转换——GCJ-02
    获取进程列表
    判断进程状态
    VSDK modify HDMI resolution
    mcspi
    TI RTOS
  • 原文地址:https://www.cnblogs.com/lbonet/p/6874829.html
Copyright © 2011-2022 走看看