首页 > 代码库 > 继承(子类构造执行的过程)
继承(子类构造执行的过程)
继承中子类构造的执行过程:
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);
}
继承(子类构造执行的过程)