posts - 5,  comments - 5,  trackbacks - 0

概要
C# 是一种面向对象的编程语言。 可以定义类以表示应用程序中的类型,然后创建对象作为这些类的实例。

在 C# 中,类可以包含字段、方法、属性和索引器。 在本文中,您将学习如何在 C# 中新建一个表示棒球队 (Baseball Team) 的类。 将给该类定义字段、方法和属性。接着将创建此类类型的一个对象并利用其方法和属性。

新建类
1. 从项目菜单上,单击添加类。 
2. 在添加新项对话框的类名中,键入 BaseballTeam,然后单击打开。 
3. 在“代码视图”窗口中检查该新类的代码。 

定义字段和构造函数
1. 在视图菜单上,单击类视图。 在“类视图”窗口中,展开 ClassesAndObjects 项目,然后展开 ClassesAndObjects 名称空间。 右键单击 BaseballTeam 类,选择添加,然后单击添加字段。 
2. 在 C# 字段向导中,将字段访问设置为 private,并将字段类型设置为 string。 在字段名中,键入 name。单击完成。 此时,就会将以下字段添加到该类中:
private string name;
 
3. 重复步骤 1 和 2(或手动键入代码)以添加另一个字段,如下所示:
private string stadium;
 
4. 再添加两个字段,并提供初始字段值,如下所示:
 private int wins = 0;
private int defeats = 0;
 
5. 修改该类的构造函数,以初始化球队和体育场 (stadium) 的名称:
public BaseballTeam(string n, string s)
{
   this.name = n;
   this.stadium = s;
}

定义方法
1. 在类视图中,右键单击 BaseballTeam 类。 选择添加,然后单击添加方法。 
2. 将方法访问设置为 public,并将返回类型设置为 void。 在方法名称中,键入 PlayGame。 添加两个名为 runsFor 和 runsAgainst 的 int 参数。单击完成。 此时,就会将以下方法添加到该类中:
public void PlayGame(int runsFor, int runsAgainst)
{
}
3. 定义方法体,如下所示:
public void PlayGame(int runsFor, int runsAgainst)
{
   if (runsFor > runsAgainst)
      this.wins++;
else
      this.defeats++;
}
4. C# 中的所有类最终都是从名为 Object 的基类继承而来的。此类定义了所有类的通用功能。以 ToString 方法为例,它返回一个字符串形式的类状态。 在您的 BaseballTeam 类中重写此方法,如下所示: public override string ToString()
{
   return this.name + ", play at " + this.stadium + ": " +
          " W" + this.wins + " L" + this.defeats;
}

定义重载方法
C# 支持重载方法,它是指名称相同但签名不同的方法。 在下面的步骤 2 中,将定义 PlayGame 方法的一个重载版本,该方法将比赛结果作为参数。
1. 首先,在 BaseballTeam 类中定义一个 enum,如下所示: public enum Result {Win, Lose}
2. 另创建一个 PlayGame 方法,如下所示: public void PlayGame(Result r)
{
   if (r == Result.Win)
      this.wins++;
   else if (r == Result.Lose)
      this.defeats++;
}

定义属性
1. 在类视图中,右键单击 BaseballTeam 类。 选择添加,然后单击添加属性。 
2. 将属性访问设置为 public,并将属性类型设置为 double。 在属性名中,键入 Record。 单击 get 单选按钮,然后单击完成。 此时,就会将以下属性添加到该类中: public double Record
{
   get
   {
      return 0;
   }
}
3. 按以下方式修改该属性,使其返回棒球队的比赛记录(例如,如果本队赢得 10 场比赛,输掉 10 场比赛,则该队的记录为 0.5): public double Record
{
   get
   {
      int played = this.wins + this.defeats;
      return (double)this.wins / played;
   }
}
4. 添加一个名为 Ballpark 的获取/设置属性,如下所示。 该属性允许读取或更改棒球队的 stadium 字段: public string Ballpark
{
   get
   {
      return this.stadium;
   }
   set
   {
      this.stadium = value;  // value is an implicit parameter
   }
}

创建并使用一个对象
1. 在“代码视图”窗口中显示 Class1.cs 的代码。 
2. 在 Main 方法中,使用 new 运算符创建一个 BaseballTeam 对象。 将对该对象的引用赋值给 BaseballTeam 局部变量,如下所示:
BaseballTeam sf = new BaseballTeam("San Francisco Giants",
                                   "Candlestick Park");
3. 添加下列代码以便在对象上测试公用方法:
sf.PlayGame(7, 2);
sf.PlayGame(BaseballTeam.Result.Lose);
4. 添加下列语句以检验对象的属性:
Console.Out.WriteLine("Record: " + sf.Record);
sf.Ballpark = "3Com Park";
5. 显示对象的当前状态,如下所示:
Console.Out.WriteLine(sf.ToString());
6. 将对该对象的引用设置为 null,表明您不再需要 BaseballTeam 对象。 这样,就可以将该对象作为垃圾回收(注意,C# 没有 delete 运算符):
sf = null;

 
posted on 2006-10-20 16:35 曾科 阅读(1028) 评论(1)  编辑  收藏 所属分类: C#

FeedBack:
# re: HOW TO:在 C# .NET 中创建类和对象
2007-09-25 08:41 |
谢谢了 我收藏了  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(3)

随笔档案

文章分类

文章档案

相册

.net

搜索

  •  

最新评论

阅读排行榜

评论排行榜