zoukankan      html  css  js  c++  java
  • 继承(子类构造执行的过程)

    继承中子类构造的执行过程:
            1.从Main函数跳转到子类有参构造,但是不进入方法体,无论有无base(),都会跳转到父类构造
            2.跳转到父类有参构造,执行构造体
            3.执行完后,跳回到子类有参构造并执行构造体
            4.执行完后,跳回到Main函数,对象执行完毕

    示例代码:

    /// <summary>
        /// 父类
        /// </summary>
        public class Car
        {
            public string Brand { get; set; } //品牌
            public string Color { get; set; }  //颜色
            /// <summary>
            /// 无参构造
            /// </summary>
            public Car()
            {
            }
            /// <summary>
            /// 有参构造
            /// </summary>
            /// <param name="brand"></param>
            /// <param name="color"></param>
            public Car(string brand,string color)
            {
                this.Brand = brand;
                this.Color = color;
            }

     /// <summary>
        /// 子类
        /// </summary>
       public class LittleCar:Car
        {
            public int Price { get; set; }
            public LittleCar()
            {

            }
            public LittleCar(string brand, string color, int price):base(brand,color)
            {
                //this.Brand = brand;
                //this.Color = color;
                this.Price = price;
            }
        }

     /// <summary>
            /// Main方法
            /// </summary>
            /// <param name="args"></param>
         public   static void Main(string[] args)
            {
              LittleCar littlecar = new LittleCar("路虎","灰色",5000);
              LittleCar littlecar2 = new LittleCar("路虎", "蓝色", 500000);
            }

  • 相关阅读:
    BZOJ#2820. YY的GCD
    BZOJ#3771. Triple(FFT+生成函数)
    BZOJ#4503. 两个串
    HDU#4609. 3-idiots
    UVA 12298 Super Poker II(FFT+母函数)
    HDU#1402. A×B
    树状数组的区间修改与区间查修
    COCI. DIFERENCIJA(序列处理中的小技巧)
    dt.select默认不区分大小写
    缓存,缓存算法和缓存框架
  • 原文地址:https://www.cnblogs.com/sujulin/p/7056848.html
Copyright © 2011-2022 走看看