c#访问关键词base的使用

引导语:C#读作C Sharp。最初它有个更酷的名字,叫做COOL。以下是小编整理的c#访问关键词base的使用,欢迎参考阅读!

c#访问关键词base的使用

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

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

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

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

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

  示例

在本例中,基类 Person 和派生类 Employee 都有一个名为 Getinfo 的方法。通过使用 base 关键字,可以从派生类中调用基类的 Getinfo 方法。

C#

public class Person

{

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

protected string name = "John L. Malgraine";

public virtual void GetInfo()

{

eLine("Name: {0}", name);

eLine("SSN: {0}", ssn);

}

}

class Employee : Person

{

public string id = "ABC567EFG";

public override void GetInfo()

{

// Calling the base class GetInfo method:

nfo();

eLine("Employee ID: {0}", id);

}

}

class TestClass

{

static void Main()

{

Employee E = new Employee();

nfo();

}

}

/*

Output

Name: John L. Malgraine

SSN: 444-55-6666

Employee ID: ABC567EFG

*/

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

C#

public class BaseClass

{

int num;

public BaseClass()

{

eLine("in BaseClass()");

}

public BaseClass(int i)

{

num = i;

eLine("in BaseClass(int i)");

}

public int GetNum()

{

return num;

}

}

public class DerivedClass : BaseClass

{

// This constructor will call Class()

public DerivedClass() : base()

{

}

// This constructor will call Class(int i)

public DerivedClass(int i) : base(i)

{

}

static void Main()

{

DerivedClass md = new DerivedClass();

DerivedClass md1 = new DerivedClass(1);

}

}

/*

Output:

in BaseClass()

in BaseClass(int i)

*/