Partielo | Créer ta fiche de révision en ligne rapidement
DUT INFORMATIQUE
1ère année

Héritage/Généralisation

Base de la POO

Definition

Héritage
L'héritage est le mécanisme par lequel une classe hérite de la définition (attributs et méthodes) d'une autre classe.

1. Pourquoi hérité

Modularité : aide à éviter la duplication de codes, et elle permet une meilleur structuration.

Spécialisé : personne --> personnel --> enseignant.

Fonctionnalité : étendre les fonctionnalités (un étudiant a certaines propriétés et fonctionnalités qu'un enseignant n'a pas).


Si Enseignant hérite de Personnel, on dit que :

  • Personnel est une super-classe d'Enseignant.
  • Enseignant est une sous-classe de Personnel.


2. Héritage, respect du contrat

Transitivité : Si C --> B --> A (si A hérite de B et B hérite de C, alors A hérite de C).

Contrat : La classe A ne peut pas restreindre la visibilité d'une méthode de sa classe parent, en l’occurrence la classe B.

Si les attributs/méthodes de la classe B sont définis en "private", il sera impossible d'accéder aux méthodes de la classe B par la sous-classe A.

Néanmoins, il est possible d'accéder aux attributs (private) de la super-classe à l'aide de constructeurs.


3. Héritage, comment ça marche

Typage : Le typage se fait statiquement : <nom_de_la_super_classe> <nom_de_l'objet> = new <nom_de_la_sous_classe> ();


4. Héritage et constructeur

  • La construction d'une instance de la sous-classe commence toujours par la construction de sa partie héritée.
  • Si le constructeur de la classe mère est sans paramètre ou par défaut, alors java l'appelle "artificiellement".
  • S'il existe un constructeur avec des paramètres dans la classe mère, alors il est obligatoire à ce que la sous-classe appelle le constructeur de la super-classe (dans la sous-classe, il faut remplacer les "this" par des "super" pour les paramètres du constructeur de la super classe).


5.Héritage et constructeur, respect du contrat

  • Faire attention comme dit précédemment au respect de l'ordre des paramètres des constructeurs. S'il existe un constructeur prenant en paramètre un String, il faut que le constructeur de la sous-classe ait en premier paramètre un string, puis ceux qu'on veut.


6. This/Super

This : this est la référence vers l'objet courant.

Super : super permet d'accéder aux élément de la classe mère la plus proche dans la hiérarchie.

A retenir :

L'héritage permet l'héritage des attributs/méthodes à la sous-classe (attention au cas où ils sont définis en private). Les notions de super-classe et de sous-classe. Les notions de constructeurs (avec super), les sous-classes doivent comporter un constructeur qui reprend la même "structure" que celui de la super-classe.
DUT INFORMATIQUE
1ère année

Héritage/Généralisation

Base de la POO

Definition

Héritage
L'héritage est le mécanisme par lequel une classe hérite de la définition (attributs et méthodes) d'une autre classe.

1. Pourquoi hérité

Modularité : aide à éviter la duplication de codes, et elle permet une meilleur structuration.

Spécialisé : personne --> personnel --> enseignant.

Fonctionnalité : étendre les fonctionnalités (un étudiant a certaines propriétés et fonctionnalités qu'un enseignant n'a pas).


Si Enseignant hérite de Personnel, on dit que :

  • Personnel est une super-classe d'Enseignant.
  • Enseignant est une sous-classe de Personnel.


2. Héritage, respect du contrat

Transitivité : Si C --> B --> A (si A hérite de B et B hérite de C, alors A hérite de C).

Contrat : La classe A ne peut pas restreindre la visibilité d'une méthode de sa classe parent, en l’occurrence la classe B.

Si les attributs/méthodes de la classe B sont définis en "private", il sera impossible d'accéder aux méthodes de la classe B par la sous-classe A.

Néanmoins, il est possible d'accéder aux attributs (private) de la super-classe à l'aide de constructeurs.


3. Héritage, comment ça marche

Typage : Le typage se fait statiquement : <nom_de_la_super_classe> <nom_de_l'objet> = new <nom_de_la_sous_classe> ();


4. Héritage et constructeur

  • La construction d'une instance de la sous-classe commence toujours par la construction de sa partie héritée.
  • Si le constructeur de la classe mère est sans paramètre ou par défaut, alors java l'appelle "artificiellement".
  • S'il existe un constructeur avec des paramètres dans la classe mère, alors il est obligatoire à ce que la sous-classe appelle le constructeur de la super-classe (dans la sous-classe, il faut remplacer les "this" par des "super" pour les paramètres du constructeur de la super classe).


5.Héritage et constructeur, respect du contrat

  • Faire attention comme dit précédemment au respect de l'ordre des paramètres des constructeurs. S'il existe un constructeur prenant en paramètre un String, il faut que le constructeur de la sous-classe ait en premier paramètre un string, puis ceux qu'on veut.


6. This/Super

This : this est la référence vers l'objet courant.

Super : super permet d'accéder aux élément de la classe mère la plus proche dans la hiérarchie.

A retenir :

L'héritage permet l'héritage des attributs/méthodes à la sous-classe (attention au cas où ils sont définis en private). Les notions de super-classe et de sous-classe. Les notions de constructeurs (avec super), les sous-classes doivent comporter un constructeur qui reprend la même "structure" que celui de la super-classe.
Retour

Actions

Actions