why have protection attributes on/in interfaces abstract classes/methods no effect ouside a module?

dennis luehring dl.soluz at gmx.net
Fri Feb 3 03:12:16 PST 2012


why have protection attributes on/in interfaces and abstract 
classes/methods no effect outside a module?

module types;

private interface itest
{
   private static void blub();
   public void blub2();
   private void blub3();
}

private class test
{
   protected abstract void blub4();
   public abstract void blub5();
}

---

module classes;

import types;

class A: itest
{
   public static void blub(){}
   public void blub2(){}
   public void blub3(){}
}

class B: test
{
   protected override void blub4(){}
   public override void blub5(){}
}

class C: test
{
   public override void blub4(){}
   public override void blub5(){}
}

why is it allowed to use them in interface and abstract - and even check 
if there are no redundency like "private private" or something


More information about the Digitalmars-d-learn mailing list