C# virtual sealed 索引

来源:互联网 发布:ubuntu likewise open 编辑:程序博客网 时间:2024/06/07 03:20

virtual:虚方法,当系统在执行时,遇到virtual定义的方法,那么它将不会执行,而是找该类或者父类中存在对该方法的重写(override)

sealed 是用来防止父类的方法被子类覆盖,如果父类的方法定义为sealed,那么子类的,而用sealed定义的类将不能被其他类继承

索引:

class Program    {                static void Main(string[] args)        {            Index ind = new Index();            int a;            var val = ind[2];            Console.WriteLine(val);            Console.ReadKey();        }        private void test()        {         }            }    public class Index    {        private string[] names = { "gary""daixu","feng" };        private double[] dimension = new double[3];        public Index()        {            dimension[0] = 1.0;            dimension[1] = 2.2;            dimension[2] = 3.5;        }        public double this[int i]        {            get            {                return dimension[i];            }        }        public double this[string name]        {            get            {                int i = 0;                while (i < names.Length && name.ToLower() != names[i]) { i++; }                return (i == names.Length) ? -1.0 : dimension[i];            }            set            {                int i = 0;                while (i < names.Length && name.ToLower() != names[i])                {                    i++;                }                if (i != names.Length)                {                    dimension[i] = value;                }            }        }    }

原创粉丝点击