title: Protected abstract or public abstract method in abstract class
body: <p>Hi I have an abstract class in which I have some public methods and some abstract ones.
  I have the public so that they implement the common methods for the derived classes.</p>
  
  <p>What is confusing me is why I will want to define a public abstract method instead of protected abstract. That makes no sense to me to define a public abstract method in abstract class.... because if is an abstract will be overridden, in the derived classes, but the same is if is defined as public but somehow it makes more sense to define it as protected as we know that we will override that in the derived classes.</p>
  
  <p>Is it wrong to define the method as public abstract in an abstract class? Which is better and why?</p>