我們都知道,類是有成員的,而類的成員是另一個使用者定義的類型也是完全有可能。偶爾的,被包含的類可以為其外層類的服務而存在,因為它不必要向外界暴露。其實,嵌套類就是一個輔助類。這就是嵌套類。
嵌套類的好處是可以對外層類的所有成員進行訪問。嵌套類的方法可以訪問外層類的私人成員。這裡要說明一點:公用的嵌套類可以在外層類的範圍內訪問。
using System;
using System.Collections.Generic;
using System.Text;
namespace 嵌套類的使用
{
public class Fraction
{
private int numerator;
private int denominator;
public Fraction(int numerator, int denominator)
{
this.numerator = numerator;
this.denominator = denominator;
}
public override string ToString()
{
return String.Format("{0}/{1}", numerator, denominator);
}
//嵌套類
internal class FractionArtist
{
public void Draw(Fraction f)
{
Console.WriteLine("Drawing the unmerator:{0}",f .numerator );
Console.WriteLine("Drawing the denominator:{0}", f.denominator);
}
}
}
class Program
{
static void Main(string[] args)
{
Fraction f = new Fraction(3, 4);
Console.WriteLine("f1:{0}",f .ToString ());
//執行個體化嵌套類
Fraction.FractionArtist fa = new Fraction.FractionArtist();
fa.Draw(f);
Console.ReadLine();
}
}
}
FractionArtist只有一個成員:Draw()方法。它可以自由地訪問Fraction的私人成員f .numerator和f.denominator,我們可以將這種情況理解問題成員的範圍!如果不是嵌套類,其他類要訪問根本不可能。