Czy jest jakaś różnica między
public class A extends AbstractB implements C
{...}
przeciw...
public class A extends AbstractB
{...}
abstract class AbstractB implements C
{...}
Rozumiem, że w obu przypadkach klasa A będzie zgodna z interfejsem. W drugim przypadku AbstractB
może zapewnić implementację metod interfejsu w C
. Czy to jedyna różnica?
Jeśli nie chcesz, aby zapewnić implementację dla którejkolwiek z metod interfejsu w AbstractB
, jaki styl powinienem używać ? Czy używanie jednego lub drugiego ma jakiś ukryty cel „dokumentacji”?