base关键字

转载 2016年08月30日 10:56:38
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中有体现。

相关文章推荐

[你必须知道的.NET] 第六回:深入浅出关键字---base和this

转自:http://www.cnblogs.com/anytao/archive/2007/05/04/must_net_06.html 本文将介绍以下内容: 面向对象基本概念 base关键字...

C#:base与this关键字用法小结

1.base关键字 在博文《C#类继承中构造函数的用法小结》一文中,我们已经学习到:使用base关键字可以帮助子类显示地调用父类的构造函数。对于这点,我们可以使用前文所给的实例代码(有裁剪)来进行说明...
  • tiana0
  • tiana0
  • 2013-09-08 11:19
  • 13102

C#中base和this关键字

this:   用于引用类的当前实例,也包括继承而来的方法,通常可以隐藏this。 MSDN中的小结功能主要包括:     (1)限定被相似的名称隐藏的成员      (2)将对象作为参数传...

C#中base和this关键字

base: 用于在派生类中实现对基类公有或者受保护成员的访问,但是只局限在构造函数、实例方法和实例属性访问器中。 MSDN中小结的具体功能包括:     (1)调用基类上已被其他方法重写的方法。...

转:C#继承之base,virtual,override,abstract,new,sealed关键字

转自:http://www.cnblogs.com/YuanSong/archive/2012/07/20/2601224.html 1.base 关键字 Base 关键字用于从派生类中访问基...

黑马程序员——C#枚举 结构体 this关键字 base关键字 值类型 引用类型 装箱和拆箱

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------    枚举 如果你...

C语言关键字

  • 2015-04-07 18:25
  • 32KB
  • 下载

[libevent]event_base_new()

struct event_base * event_base_new(void) { int i; struct event_base *base; //相当于一个reactor,声明后分配空间 ...

C语言中的所有关键字

  • 2015-03-26 00:01
  • 28KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)