Incompréhension d'un cas particulier d'héritage
Bonjour,
Je suis à la base programmeur C++ ( qui a parlé de fosse aux Lions :) ), j'ai le code suivant :
B.java
Code:
1 2 3 4
| public class B
{
public void foo (){}
} |
C.java
Code:
1 2 3 4
| public interface C
{
public void foo ();
} |
A.java
Code:
1 2 3 4 5 6 7
| public class A extends B implements C
{
public static void main ( String[] argv )
{
System.out.println ( "Hello" );
}
} |
Le code compile et s'exécute parfaitement alors que la méthode virtuelle pure foo de l'interface C n'a pas été réimpléménté dans la classe A, n'y a t'il pas un problème ?
Les méthodes foo de B et C ont bien des signatures différentes puisqu'elle n'appartiennent à la même en classe, non ?
Comme vous pouvez le constater j'ai un raisonnement de C++iens :).