美文网首页
实现多态的方式

实现多态的方式

作者: Aaether | 来源:发表于2018-02-28 20:12 被阅读0次

    实现多态有三种方式:虚方法,抽象方法,接口。

     虚方法:子类重写父类中的方法,对父类中的方法进行覆盖。适用情况:父类中的方法对子类来说不适用,子类通过重写该方法,覆盖了父类中的方法。

    public class Person

    {

    public virtual void SayHello()

    {

    Console.WriteLine("Say hello!");

    }

    }

    public  class Chinese : Person

    {

    public override void SayHello()

    {

    Console.WriteLine("中国人问好!");

    }

    }

    抽象方法:子类重写父类中的方法,父类中不对方法进行实现,在子类中进行实现,父类是抽象类。适用情况:针对同一种类型抽象出来的父类,对某些行为和属性大家都是公有的,但是这些属性和行为实现方式并不一致。

    abstract  class Person

    {

    public abstract void SayHello();

    }

    class Chinese : Person

    {

    public override void SayHello()

    {

    Console.WriteLine("中国人问好!");

    }

    }

    接口:实现接口的类,将接口中的方法实现。适用情况:A.当多个类型不能抽象出合理的父类时,但是又要对某些行为进行多态,将公共的方法抽象到一个接口中,让不同的子类调用。

    public interface IFlyable//定义一个接口,实用interface 修饰,接口名以I开头,接口中只能包括方法,且方法没有访问修饰符,方法不实现。

    {

    void Fly();

    void Jump();

    }

    class Student:Person,IFlyable//当一个类继承了父类,并且实现了多个接口的时候,被继承的类必须写在继承列表的第一个位置

    {

    public void Fly()

    {

    Console.WriteLine("I can fly");

    }

    }

    相关文章

      网友评论

          本文标题:实现多态的方式

          本文链接:https://www.haomeiwen.com/subject/vvbzbttx.html