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

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

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

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

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

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

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

    最后执行结果为:

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

    就是

    Animal animal=new Animal ();

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

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

    阻止派生类重写虚成员


    利用sealed关键字来实现

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

    使用新成员隐藏基类成员

    利用new关键字来实现

  • 相关阅读:
    商场活动|简单易用|可下载试用|复用转盘抽奖软件
    js dictionary
    财务大写
    SET ANSI_NULLS ON ……
    批量生成clr脚本
    Git
    CTE递归查询
    jquery 巧用json传参
    个人犯的一个golang routine错误
    .NET实现自动编译
  • 原文地址:https://www.cnblogs.com/lbonet/p/6874829.html
Copyright © 2011-2022 走看看