base关键字

1.base其实最大的使用地方在面相对性开发的多态性上,base可以完成创建派生类实例时调用其基类构造函数或者调用基类 上已被其他 法重写的方法。
例如:
2.关于base调用基类构造函数
public class
A
{
public
A()

{

Console.WriteLine("Build A");

}
}
public class B:A
{

public B():base()

{

Console.WriteLine("Build B");

}

static void Main()

{

B b = new
B();

Console.ReadLine();

}
}
创建一个B的实例对象,获得结果是同时打印Build A和Build B.

3.关于base在派生类中调用基类的方法。
public class
A
{
public virtual void
Hello()

{

Console.WiriteLine("Hello");

}
}
public class B : A
{

public override void Hello()

{

base.Hello();//调用基类的方法,显示Hello

Console.WiriteLine("World");

}
}
这样如果程序调用B.Hello()获得的效果将会使Hello World.

最后补充下,根据MSDN
Library介绍来看这两个关键字都是属于[访问关键字]类型

4.关于base
base
关键字用于从 派生类 中访问基类的成员:
调用基类上已被其他方法重写的方法。
指定创建派生类实例时应调用的基类 构造函数
基类访问只能在构造函数、实例方法或实例属性访问器中进行。

示例:
5.
在派生类中调用基类方法。

using
System;
public class BaseClass
{
protected string
_className = "BaseClass";
public virtual void
PrintName()

{
Console.WriteLine("Class Name:
{0}", _className);
}
}
class DerivedClass :
BaseClass
{
public string _className =
"DerivedClass";
public override void
PrintName()

{
Console.Write("The BaseClass
Name is {0}");

//调用基类方法

base.PrintName();

Console.WriteLine("This DerivedClass is {0}", _className);

}
}
class TestApp
{
public static void
Main()
{

DerivedClass dc = new
DerivedClass();

dc.PrintName();
}
}

6.
在派生类中调用基类构造函数。
// keywords_base2.cs
using System;
public class
BaseClass
{
int num;
public
BaseClass()

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

{
num =
i;
Console.WriteLine("in
BaseClass(int {0})", num);
}
}
public class
DerivedClass : BaseClass
{
// 该构造器调用
BaseClass.BaseClass()
public
DerivedClass()
:
base()
{
}
//
该构造器调用 BaseClass.BaseClass(int i)
public DerivedClass(int
i)
: base(i)

{
}
static void
Main()
{

DerivedClass dc = new
DerivedClass();
DerivedClass dc1 =
new DerivedClass(1)();

Console.ReadLine();
}
}

7.注意:
从静态方法中使用 base
关键字是错误的。
base 主要用于面向对象开发的对态这方面,在示例2中有体现。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值