[你必须知道的.NET]第十五回:继承本质论
http://developer.51cto.com/art/200910/155202.htm
本文将介绍以下内容:
什么是继承?
继承的实现本质
1. 引言
关于继承,你是否驾熟就轻,关于继承,你是否了如指掌。
本文不讨论继承的基本概念,我们回归本质,从编译器运行的角度来揭示.NET继承中的运行本源,来发现子类对象是如何实现了对父类成员与方法的继承,以最为简陋的示例来揭示继承的实质,阐述继承机制是如何被执行的,这对于更好的理解继承,是必要且必然的。
2. 分析
下面首先以一个简单的动物继承体系为例,来进行说明:
    public abstract class Animal
    {
        public abstract void ShowType();
        public void Eat()
        {
            Console.WriteLine("Animal always eat.");
        }
    }
    public class Bird: Animal
    {
        private string type = "Bird";
        public override void ShowType()
        {
            Console.WriteLine("Type is {0}", type);
        }
        private string color;
        public string Color
        {
            get { return color; }
            set { color = value; }
        }
    }
    public class Chicken : Bird
    {
        private string type = "Chicken";
        public override void ShowType()
        {
            Console.WriteLine("Type is {0}", type);
        }
        public void ShowColor()
        {
            Console.WriteLine("Color is {0}", Color);
        }
    }
                    
                
                
            
        
浙公网安备 33010602011771号