On 2013-12-31 07:01, Afshin wrote:
Is it possible to describe modules in terms of packages (as found in Java)?
The features that Java packages have that I can't seem to get in D are:
1) You can have classes that are in the same package, but kept in
separate files.
See below.
2) You can import many classes using the '*' syntax.
You cannot do that in D. You can do something similar as described here:
http://forum.dlang.org/thread/[email protected]#post-sdueirvfgsxjtahmapla:40forum.dlang.org
Is this possible in D?
What I understand is that if I have ClassA and ClassB in Module1, and I
want to keep the classes in separate files, then I have to use the
following module statements:
in ClassA:
module Module1.ClassA;
in ClassB:
module Module1.ClassB;
But now it becomes cumbersome to use the classes because now I have to
import them explicitely:
import Module1.ClassA;
import Module1.ClassB;
Yes, that's how it works in D. That's because in Java there's a
one-to-one mapping of classes and files. In D you can have many classes
(or other declarations) in the same file. I suggest you use this approach.
If I wanted to use:
import Module1;
Then it seems I have to have ClassA and ClassB in the same D file.
Am I missing something?
--
/Jacob Carlborg