я понял, что пространство имен - это контейнер единиц;но я не очень хорошо понял, как с этим работать.Я стараюсь лучше объяснить, о чем хочу рассказать.Например, у меня есть четыре единицы:
1) Animals // es: class TAnimals
2) Animals.Dog // es: class TDog
3) Animals.Cat // es: class TCat
4) Animals.Cat.Female // es: class TFemale
Конечно, эти четыре единицы находятся в четырех разных файлах.Если я делаю новый блок и мне нужно все это использовать, я пишу:
uses
Animals, Animals.Dog, Animals.Cat, Animals.Cat.Female
Теперь, пока проблем не будет, но когда их будет очень много?Поэтому я хотел знать, как мне лучше управлять, создавая одну единственную единицу: Animal (корень пространства имен), содержащий все остальные, имеющий что-то вроде:
uses
Animals;
И иметь доступ от Animal ко всем другим классамопределяется во всем другом пространстве имен второго, третьего и т. д. уровня, например:
program Project1;
uses
Animals;
var
x: Animals;
begin
x := TAnimals.Cat.Female.Create;
try
....
finally
x.Free;
end;
end.
При поиске в интернете, возможно, я нашел что-то с помощью интерфейса, но у меня сложилось впечатление, что неправильное решение, потому что, на мой взгляд, оченьсложный для чего-то, что с Delphi XE2 является родным.Скорее всего, я ошибаюсь, или это относится к какой-то более старой версии Delphi;Искренне, я не знаю.Но я хотел знать, как я это делаю, конечно, если это возможно.Еще раз большое спасибо.