If a class implements an interface from two separate interfaces, does it behave exactly as if it implements it only once?
Example:
public interface IAnimal { /* ... */ }
public interface IFullAnimal : IAnimal { /* ... */ }
public interface IBear : IAnimal { /* ... */ }
public interface IFullBear : IBear, IFullAnimal { /* ... */ }
// and implementing IFullBear:
public class FullBear : IFullBear { /* ... */ }
Above, FullBear
implements IAnimal
from both IFullAnimal
and IBear
through IFullBear
. Does this introduce any weird behavior concerning the implementation of IAnimal since both IFullAnimal
and IBear
do not provide any information about the implementation of IAnimal
(as the language does not allow that).