AccessibilityPropagator - mehdimo/janett GitHub Wiki
In Java, you can change accessibility while you override methods. For example, if a class has a method with protected accessibility, we can override it in an inherited class with public accessibility. C# doesn’t allow this change. So we should change base and inherited methods accessibility to highest one in hierarchy.
[Java]
public abstract class Software
{
protected abstract void run();
}
public class Application extends Software
{
public void run()
{
}
}
public class OS extends Software
{
protected void run()
{
}
}
[C#]
public abstract class Software
{
public abstract void run();
}
public class Application : Software
{
public override void run()
{
}
}
public class OS : Software
{
public override void run()
{
}
}