📄 《_net编程先锋c#》第五章 类_c#语言_网络教程.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0060)http://www.qostudy.org/pr/Article/aspnet/c/200605/16915.html -->
<HTML><HEAD><TITLE>《.net编程先锋C#》第五章 类_C#语言_网络教程</TITLE>
<META http-equiv=Content-Language content=zh-cn>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="《.net编程先锋C#》第五章 类" name=keywords>
<META content="《.net编程先锋C#》第五章 类" name=description><LINK
href="《_net编程先锋C#》第五章 类_C#语言_网络教程.files/Skin1.css" type=text/css rel=stylesheet>
<META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY leftMargin=0 topMargin=0>
<TABLE class=maintabale style="BORDER-COLLAPSE: collapse" height=383
cellPadding=0 width=760 border=0>
<TBODY>
<TR>
<TD height=108>
<DIV align=center>
<TABLE style="BORDER-COLLAPSE: collapse" height=99 cellSpacing=0
cellPadding=2 width="98%">
<TBODY>
<TR>
<TD width=202><A title=网络教程 href="http://www.qostudy.org/pr/"
target=_blank><IMG height=86
src="《_net编程先锋C#》第五章 类_C#语言_网络教程.files/logo.gif" width=190
border=0></A></TD>
<TD>
<DIV class=adsense id=ad005>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-3118933189526443";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as_rimg";
google_cpa_choice = "CAAQhZOgnAIaCCfXj46FmpPgKJnA93M";
google_ad_channel = "";
//--></SCRIPT>
<SCRIPT src="《_net编程先锋C#》第五章 类_C#语言_网络教程.files/show_ads.js"
type=text/javascript>
</SCRIPT>
</DIV></TD></TR></TBODY></TABLE></DIV></TD></TR>
<TR>
<TD width="95%" height=30>
<DIV align=center>
<TABLE style="BORDER-COLLAPSE: collapse" cellPadding=0 width="98%"
border=0>
<TBODY>
<TR>
<TD>您的位置: <A class=LinkPath
href="http://www.qostudy.org/pr/">网络教程</A> >> <A
class=LinkPath
href="http://www.qostudy.org/pr/Article/aspnet/Index.html">Windows.NET教程</A> >> <A
class=LinkPath
href="http://www.qostudy.org/pr/Article/aspnet/c/Index.html">C#语言</A> >> 文章正文</TD></TR></TBODY></TABLE></DIV></TD></TR>
<TR>
<TD width="95%" height=239>
<DIV align=center>
<TABLE style="BORDER-COLLAPSE: collapse" height="98%" cellSpacing=0
cellPadding=2 width="98%">
<TBODY>
<TR>
<TD colSpan=3 height=20> </TD></TR>
<TR>
<TD colSpan=3 height=44>
<P align=center> <B><FONT face=宋体 size=3>《.net编程先锋C#》第五章
类<BR><BR></FONT></B>作者:佚名 文章来源:不详 点击数:
<SCRIPT language=javascript
src="《_net编程先锋C#》第五章 类_C#语言_网络教程.files/GetHits.htm"></SCRIPT>
更新时间:2006-5-8</P></TD></TR>
<TR>
<TD colSpan=3 height=28>
<HR color=#ffffff SIZE=1>
</TD></TR>
<TR>
<TD width=3 rowSpan=3></TD>
<TD vAlign=top align=justify height=20></TD>
<TD width=3 rowSpan=3></TD></TR>
<TR>
<TD vAlign=top align=justify>
<TABLE cellSpacing=0 cellPadding=0 align=left border=0>
<TBODY>
<TR>
<TD>
<DIV class=adsense id=ad001>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-3118933189526443";
google_ad_width = 336;
google_ad_height = 280;
google_ad_format = "336x280_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "A43232";
google_color_bg = "A43232";
google_color_link = "FFFFFF";
google_color_text = "FFFFFF";
google_color_url = "FFFFFF";
//--></SCRIPT>
<SCRIPT src="《_net编程先锋C#》第五章 类_C#语言_网络教程.files/show_ads.js"
type=text/javascript>
</SCRIPT>
</DIV>
<DIV class=adsense id=ad002
style="LEFT: 770px; WIDTH: 160px; POSITION: absolute; TOP: 0px; HEIGHT: 600px">
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-3118933189526443";
google_ad_width = 160;
google_ad_height = 600;
google_ad_format = "160x600_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "A43232";
google_color_bg = "A43232";
google_color_link = "FFFFFF";
google_color_url = "FFFFFF";
google_color_text = "FFFFFF";
//--></SCRIPT>
<SCRIPT src="《_net编程先锋C#》第五章 类_C#语言_网络教程.files/show_ads.js"
type=text/javascript>
</SCRIPT>
</DIV></TD></TR></TBODY></TABLE>第五章
类<BR>前一章讨论了数据类型和它们的用法。现在我们转移到C#中至关重要的结构——类。没有了
<BR>类,就连简单的C#程序都不能编译。这一章假定你知道了一个类的基本组成部分:方法、属性、构 <BR><BR>造函数和析构函数。
C#在其中增加了索引和事件。<BR>在这一章中,你学到下列有关类的话题。<BR>。
使用构造函数和析构函数<BR>。给类写方法<BR>。给一个类增加属性存取标志<BR>。实现索引<BR>。创建事件并通过代表元为事件关联客户<BR>。应用类、成员和存取修饰符。
<BR><BR>5.1 构造函数和析构函数<BR>在你可以访问一个类的方法、属性或任何其它东西之前, 第一条执行的语句是包含有相
<BR><BR>应类的构造函数。甚至你自己不写一个构造函数,也会有一个缺省的构造函数提供给你。 <BR><BR>class
TestClass<BR>{<BR>public TestClass(): base() {} // 由编译器提供<BR>}
<BR><BR>一个构造函数总是和它的类名相同,但是,它没有声明返回类型。总之,构造函数总是
<BR><BR>public的,你可以用它们来初始化变量。 <BR><BR>public TestClass()<BR>{<BR>//
在这给变量<BR>// 初始化代码等等。<BR>}
<BR><BR>如果类仅包含静态成员(能以类型调用,而不是以实例调用的成员),你可以创建一个
<BR><BR>private的构造函数。<BR>private TestClass()
{}<BR>尽管存取修饰符在这一章的后面将要大篇幅地讨论,但是private意味着从类的外面不可能
<BR><BR>访问该构造函数。所以,它不能被调用,且没有对象可以自该类定义被实例化。<BR>并不仅限于无参数构造函数——你可以传递初始参数来初始化成员。<BR>public
TestClass(string strName, int nAge) { ... }
<BR><BR>作为一个C/C++程序员,你可能习惯于给初始化写一个附加的方法,因为在构造函数中没有
<BR><BR>返回值。当然,尽管在C#中也没有返回值,但你可以引发一个自制的异常,以从构造函数获得返回
<BR><BR>值。更多有关异常处理的知识在第七章
"异常处理"中有讨论。<BR>但是,当你保留引用给宝贵的资源,应该想到写一个方法来解决:一个可以被显式地调用来
<BR><BR>释放这些资源。问题是当你可以在析构函数(以类名的前面加"~"的方式命名)中做同样的事情时,为
<BR><BR>何还要写一个附加的方法.<BR>public ~TestClass()<BR>{<BR>// 清除<BR>}
<BR><BR>你应该写一个附加方法的原因是垃圾收集器,它在变量超出范围后并不会立即被调用,而仅当
<BR><BR>间歇期间或内存条件满足时才被触发。当你锁住资源的时间长于你所计划的时间时,它就会发生。
<BR><BR>因此,提供一个显式的释放方式是一个好主意,它同样能从析构函数中调用。 <BR><BR>public void
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -