To demonstrate using namespaces, we will modify the class definitions from the previous example to use fully qualified namespaces.
xclass.declare("animal.Biped", XObject, {...
xclass.declare("animal.bird.Bird", Biped, {...
xclass.declare("animal.bird.aquatic.AquaticBird", Bird, {...
var human = new animal.Biped("human");
var owl = new animal.bird.Bird("owl");
var duck = new animal.bird.aquatic.AquaticBird("duck");
...
isInstance("animal", "XNamespace");
isInstance("animal.bird", "XNamespace");
isInstance("animal.bird.aquatic", "XNamespace");
isInstance("human", "animal.Biped");
isInstance("human", "animal.bird.Bird");
isInstance("human", "animal.bird.aquatic.AquaticBird");
isInstance("owl", "animal.Biped");
isInstance("owl", "animal.bird.Bird");
isInstance("owl", "animal.bird.aquatic.AquaticBird");
isInstance("duck", "animal.Biped");
isInstance("duck", "animal.bird.Bird");
isInstance("duck", "animal.bird.aquatic.AquaticBird");
This should produce the following output.
animal is an instancce of XNamespace
animal.bird is an instancce of XNamespace
animal.bird.aquatic is an instancce of XNamespace
human is an instancce of animal.Biped
human is not an instancce of animal.bird.Bird
human is not an instancce of animal.bird.aquatic.AquaticBird
owl is an instancce of animal.Biped
owl is an instancce of animal.bird.Bird
owl is not an instancce of animal.bird.aquatic.AquaticBird
duck is an instancce of animal.Biped
duck is an instancce of animal.bird.Bird
duck is an instancce of animal.bird.aquatic.AquaticBird
Click here to run this example in a new window.