Основы C#. Урок 14. Вложенные классы
Иногда для некоторый класс играет чисто вспомогательную
роль для другого класса и используется только внутри него. В
этом случае логично описать его внутри существующего класса.
Вот пример такого описания: using System;
namespace test
{
class ClassA
{
//Вложенный класс
private class ClassB
{
public int z;
}
//Переменная типа вложенного класса
private ClassB w;
//Конструктор
public ClassA()
{
w=new ClassB();
w.z=35;
}
//Некоторый метод
public int SomeMethod()
{
return w.z;
}
}
class Test
{
static void Main(string[] args)
{
ClassA v=new ClassA();
int k=v.SomeMethod();
Console.WriteLine(k);
}
}
}
Здесь класс ClassB объявлен внутри класса ClassA. Объявлен
он со словом private, так что его экземпляры мы можем
создавать только внутри класса ClassA (что мы и делаем в
конструкторе класса ClassA). Методы класса ClassA имеют доступ
к экземпляру класса ClassB (как, например, метод
SomeMethod).
Вложенный класс имеет смысл использовать тогда, когда его
экземпляр используется только в определенном классе. Кроме
того, при использовании вложеных классов улучшается читаемость
кода - если нас не интересует устройство основного класса, то
разбирать работу вложенного класса нет необходимости.
Обратите также внимание, как вложенные классы показываются
на вкладке ClassView: |