技术库
技术手册
字体库
知识点 词汇表
联系我们
内容搜索
本站最新推出网站制作字体库。
WEB开发技术知识库
.Net技术
.Net代码库
.Net分析与设计
C#教程
winform
组件/控件开发
问题集锦
Asp技术
JSP技术
PHP技术
Silverlight
WEB其它杂谈
WEB制作相关
WEB技术相关
Windows专区
数据库开发
本站源码下载区
水晶报表
网站运营知识
网管知识专栏
软件工程
web技术文章推荐
asp.net中实现DetailsView控件下的两个DropDownList级连变动
asp.net中实现DetailsView控件下的两个DropDownList级连变动
asp.net中实现DetailsView控件下的两个DropDownList级连变动
asp.net中实现DetailsView控件下的两个DropDownList级连变动
asp.net中实现DetailsView控件下的两个DropDownList级连变动
web制作字体库
实用工具站点
在线翻译
Google在线翻译
百度在线 翻译
网站推广
提交百度搜索
提交Google搜索
Google Adsense
百度联盟
站长资源
中文网站排行 TOP100
全球网站排行 TOP500
ALEXA查询
Whois信息查询
中国web信息博物馆
在线备案
alexa资料提交(英)
域名ip信息查询(英)
本站技术群
qq群:37354847(网站技术)
qq群:16345988(网站运营)
qq群:63681552(网站技术)
当前位置:
WEB技术知识资源库(www.cn-web.com)
.:
.Net技术
.:
C#教程
.:
C#中访问关键字:base、this
C#中访问关键字:base、this
base
base
关键字用于从派生类中访问基类的成员:
调用基类上已被其他方法重写的方法。
指定创建派生类实例时应调用的基类构造函数。
基类访问只能在构造函数、实例方法或实例属性访问器中进行。
示例:
在派生类中调用基类方法。
//
base 关键字
//
访问基类成员
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();
}
}
/**/
/*
控制台输出:
The BaseClass Name is BaseClass
This DerivedClass is DerivedClass
*/
在派生类中调用基类构造函数。
//
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
);
}
}
/**/
/*
控制台输出:
in BaseClass()
in BaseClass(1)
*/
注意点
从静态方法中使用
base
关键字是错误的。
base 主要用于面向对象开发的对态这方面,在示例2中有体现。
this
this
关键字引用类的当前实例。
以下是
this
的常用用途:
限定被相似的名称隐藏的成员
将对象作为参数传递到其他方法
声明索引器
示例:
综合示例。
//
this 关键字
//
keywords_this.cs
using
System;
class
Employee
{
private
string
_name;
private
int
_age;
private
string
[] _arr
=
new
string
[
5
];
public
Employee(
string
name,
int
age)
{
//
使用this限定字段,name与age
this
._name
=
name;
this
._age
=
age;
}
public
string
Name
{
get
{
return
this
._name; }
}
public
int
Age
{
get
{
return
this
._age; }
}
//
打印雇员资料
public
void
PrintEmployee()
{
//
将Employee对象作为参数传递到DoPrint方法
Print.DoPrint(
this
);
}
//
声明索引器
public
string
this
[
int
param]
{
get
{
return
_arr[param]; }
set
{ _arr[param]
=
value; }
}
}
class
Print
{
public
static
void
DoPrint(Employee e)
{
Console.WriteLine(
"
Name: {0}\nAge: {1}
"
, e.Name, e.Age);
}
}
class
TestApp
{
static
void
Main()
{
Employee E
=
new
Employee(
"
Hunts
"
,
21
);
E[
0
]
=
"
Scott
"
;
E[
1
]
=
"
Leigh
"
;
E[
4
]
=
"
Kiwis
"
;
E.PrintEmployee();
for
(
int
i
=
0
; i
<
5
; i
++
)
{
Console.WriteLine(
"
Friends Name: {0}
"
, E[i]);
}
Console.ReadLine();
}
}
/**/
/*
控制台输出:
Name: Hunts
Age: 21
Friends Name: Scott
Friends Name: Leigh
Friends Name:
Friends Name:
Friends Name: Kiwis
*/
注意点
由于静态成员函数存在于类一级,并且不是对象的一部分,因此没有 this 指针。在静态方法中引用 this 是错误的。
索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于
属性
,不同之处在于它们的访问器采用参数。
输入您的搜索字词
提交搜索表单
Web
www.cn-web.com
文章编号
035
创建日期
10-18-2007
发布人
laohan
点评
(None)
Email文章
打印
增加评论
对此文章打分评级
5分
4分
3分
2分
1分
用户评论
增加评论
此文章还没有任何评论!
网站地图
-
知识词汇
-
全文检索
-
广告服务
-
帮助中心
-
联系我们
.:
www.cn-web.com
网站技术开发联盟之WEB开发技术知识库
联系人:老韩(QQ:5679551)
晋ICP备07003487号