zoukankan      html  css  js  c++  java
  • [你必须知道的.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);
            }
        }

    12
  • 相关阅读:
    90.子类调用父类同名方法总结
    89.子类调用父类同名属性和方法
    88.子类调用父类同名属性和方法
    87.子类重写父类的同名属性和方法
    86.多继承
    85.单继承
    84.继承的概念
    day09
    83.魔法方法__del__()
    82.魔法方法__str__()
  • 原文地址:https://www.cnblogs.com/liuzhengliang/p/1595611.html
Copyright © 2011-2022 走看看