base 基本用法自(MSDN)

base 关键字用于从派生类中访问基类的成员:

  • 调用基类上已被其他方法重写的方法。

  • 指定创建派生类实例时应调用的基类构造函数。

基类访问只能在构造函数、实例方法或实例属性访问器中进行。

从静态方法中使用 base 关键字是错误的。


using System;

public class Person

{

protected string ssn = "444-55-6666";

protected string name = "John L. Malgraine";

public virtual void GetInfo()

{

Console.WriteLine("Name: {0}", name);

Console.WriteLine("SSN: {0}", ssn);

}

}

class Employee : Person

{

public string id = "ABC567EFG";

public override void GetInfo()

{

// Calling the base class GetInfo method:

base.GetInfo();

Console.WriteLine("Employee ID: {0}", id);

}

}

class TestClass

{

static void Main()

{

Employee E = new Employee();

E.GetInfo();

}

}
输出:
Name: John L. Malgraine

SSN: 444-55-6666

Employee ID: ABC567EFG

 

本示例显示如何指定在创建派生类实例时调用的基类构造函数

using System;
public class BaseClass
{
    int num;

    public BaseClass()
    {
        Console.WriteLine("in BaseClass()");
    }

    public BaseClass(int i)
    {
        num = i;
        Console.WriteLine("in BaseClass(int i)");
    }

    public int GetNum()
    {
        return num;
    }
}

public class DerivedClass : BaseClass
{
    // This constructor will call BaseClass.BaseClass()
    public DerivedClass() : base()
    {
    }

    // This constructor will call BaseClass.BaseClass(int i)
    public DerivedClass(int i) : base(i)
    {
    }

    static void Main()
    {
        DerivedClass md = new DerivedClass();
        DerivedClass md1 = new DerivedClass(1);
    }
}


输出

in BaseClass()

in BaseClass(int i)
 

你可能感兴趣的:(用法)