让类承担一些工作
我们刚刚学习了怎样创建类的实例,用实例来保存数据。其实,保存数据只是类的一个小功能,它真正的强大之处是处理数据的能力。
在一起学C#(十五)的例子中,我们显示两名员工的信息时,使用了相同的代码,只是修改了变量名。设想一下,这是显示两名员工的信息,如果要显示十名、百名,甚至上千名员工的信息,我们是不是要写上千遍重复的代码呢?这显然是不可行的。
所以,有一些工作,比如显示员工的信息,就必须让类自己来承担。除了类中现有的属性,也叫数据成员,我们还可以给类再增加方法成员。
比如,我们可以给Employeer类增加一个显示员工信息的方法:
// 显示员工信息
public void ShowInfo()
{
Console.WriteLine("姓名:" + Name);
Console.WriteLine("年龄:" + Age);
Console.Write("性别:");
if (Sex)
{
Console.WriteLine("男");
}
else
{
Console.WriteLine("女");
}
}
public表示可以从类的外部直接访问这个方法,void表示这个方法没有返回值。
增加了这个方法之后,在显示员工信息的时候,可以使用“变量名.ShowInfo()”调用它直接显示员工信息了。
using System;
namespace csdn.blog.aerosea
{
class Program
{
static void Main(string[] args)
{
Employeer zhang = new Employeer(); // 创建一个新的实例
zhang.Name = "张能"; // 保存姓名
zhang.Age = 28; // 保存年龄
zhang.Sex = true; // 保存性别
Employeer employeer = new Employeer(); // 创建另一个实例
employeer.Name = "赵风";
employeer.Age = 29;
employeer.Sex = false;
// 变量zhang里面保存的是张能的信息
zhang.ShowInfo();
Console.WriteLine(); // 显示一个空行
// 变量employeer中保存的是赵风的信息
employeer.ShowInfo();
Console.WriteLine("\n按任意键继续...");
Console.ReadKey();
}
}
class Employeer
{
public string Name; // 姓名,如果不加public,无法使用zhang.Name访问数据,以下同
public ushort Age; // 年龄
public bool Sex; // 性别
// 显示员工信息
public void ShowInfo()
{
Console.WriteLine("姓名:" + Name);
Console.WriteLine("年龄:" + Age);
Console.Write("性别:");
if (Sex)
{
Console.WriteLine("男");
}
else
{
Console.WriteLine("女");
}
}
}
}
这样看起来,代码是不是简单了一些呢?特别是在显示多个员工信息的情况下,就没有必要重复编写代码了。