Généralités sur l'héritage                        

Généralités sur l'héritage

           

Toute classe, sauf la classe java.lang.Object, hérite d'une et une seule classe : sa superclasse.

On indique qu'une classe B hérite d'une classe A de la façon suivante :

class B extends A  {
 ... 
}
Alors, la classe B dispose de tous les attributs et méthodes de la classe A ; la classe B peut ajouter des attributs et des méthodes qui lui sont propres. Signalons néanmoins que les attributs et méthodes privés de la classe A ne sont pas directement accessibles dans la classe B ; on peut éventuellement y faire indirectement appel en utilisant des méthodes accessibles de la classe A les invoquant.

On dit :

Si une classe, sauf la classe java.lang.Object n'indique pas qu'elle étend une super-classe, par exemple :

class Compte {
    ... 
}
cela signifie :
class Compte extends Object {
    ... 
}

Une classe ne peut étendre qu'une seule classe : on dit qu'il n'y a pas d'héritage multiple en java. Une classe déclarée final ne peut pas être étendue. Par exemple, si on a :

final class A {
	... 
}
la classe A ne peut pas être étendue.

© IrèneCharon Télécom ParisTech 2010