|
Введение в классы - Вложенные классы (часть 7)
ВЛОЖЕННЫЕ КЛАССЫ
Иногда некоторый класс играет чисто вспомогательную роль для другого класса и используется только внутри него. В этом случае логично описать его внутри существующего класса. Вот пример такого описания:
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);
}
}
}
}
|
После запуска программа выведет результат:
35
Здесь класс ClassB объявлен внутри класса ClassA, причем со словом private, так что его экземпляры мы можем создавать только внутри класса ClassA (что мы и делаем в конструкторе класса ClassA). Методы класса ClassA имеют доступ к экземпляру класса ClassB (как, например, метод SomeMethod).
Вложенный класс имеет смысл использовать тогда, когда его экземпляр используется только в определенном классе. Кроме того, с вложением классов улучшается читаемость кода — если нас не интересует устройство основного класса, то разбирать работу вложенного класса нет необходимости.
Обратите также внимание, как вложенные классы показываются на вкладке ClassView (см. рис. 1).

Предыдущая стр.   
Оглавление   
Следующая стр.
Средняя оценка:     (5 - 2 голосов) Для оценки необходимо зарегистрироваться
Только зарегистрировавшиеся пользователи могут оставлять комментарии
|
|