抽象方法

来源:互联网 发布:备份数据怎么恢复 编辑:程序博客网 时间:2024/06/05 00:31
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 抽象方法{    //包含抽象方法的类一定是抽象类,但抽象类中的方法不一定是抽象方法。    abstract class Fruit    //在一个类前面加上“abstract”关键字,此类就成为了抽象类。注意抽象方法不能有实现代码,在函数名后直接跟一个分号。抽象类专用于派生出子类,子类必须实现抽象类所声明的抽象方法,否则,子类仍是抽象类。    {       public abstract void GrowInArea();    }    class Apple : Fruit    {        public override void GrowInArea()  //注意上述代码中的override 关键字,这说明子类重写了基类的抽象方法。        {            Console.WriteLine ("你好我是苹果");        }    }    class Pineapple : Fruit    {        public override void GrowInArea()        {            Console.WriteLine ("你好我是菠萝");        }    }    class Program    {        static void Main(string[] args)        {            /*            Fruit a = new Apple();            a.GrowInArea();            Fruit p = new Pineapple();            p.GrowInArea();            */            Fruit f;   //抽象类不能创建对象,一般用它来引用子类对象。            f = new Apple();               f.GrowInArea();  //注意同一句代码“f.GrowInArea();”会由于f 所引用的对象不同而输出不同的结果。可以看到,代码运行结果类似于上一节介绍的“虚方法调用”,两者没有本质差别。            f = new Pineapple();            f.GrowInArea();            Console.ReadKey();                                            }    }}

0 0
原创粉丝点击