讓類承擔一些工作
我們剛剛學習了怎樣創建類的實例,用實例來保存數據。其實,保存數據只是類的一個小功能,它真正的強大之處是處理數據的能力。
在一起學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("女");
}
}
}
}
這樣看起來,代碼是不是簡單了一些呢?特別是在顯示多個員工信息的情況下,就沒有必要重複編寫代碼了。