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

Reply via email to