0% ont trouvé ce document utile (0 vote)
114 vues22 pages

Concepts Clés de l'Héritage en Java

Ce document décrit les concepts d'héritage en Java, y compris les rôles, éléments syntaxiques, impact sur le modèle mémoire, réécriture et surcharge de méthodes, et classes spéciales comme Object, Enum, Class et Exception.

Transféré par

parts
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
114 vues22 pages

Concepts Clés de l'Héritage en Java

Ce document décrit les concepts d'héritage en Java, y compris les rôles, éléments syntaxiques, impact sur le modèle mémoire, réécriture et surcharge de méthodes, et classes spéciales comme Object, Enum, Class et Exception.

Transféré par

parts
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

HÉRITAGE

Inf-2120
v.193
CONTENUS

• Rôles de l’héritage.
• Éléments syntaxiques.
• Impact sur le modèle de la mémoire.
• Réécriture et surcharge.
• Classes Object, Enum, Class, et Exception.
• Classes et méthodes abstraites.
ROLES DE L’HÉRITAGE

• Généralisation – spécialisation.
• Généralisation
• Classe mère : contient le code commun à toutes les sous-classes.
• Spécialisation
• Classes filles : contient le code spécifique à une sous-classe.
• Donc rend plus précis certaine action, les adaptes à un contexte plus précis.
• Construction de sous-type.
ÉLÉMENTS SYNTAXIQUES.

• Le mot clef extends.


• Constructeurs, utilisation du mot clef super.
• Introduction à la portée protected.
MÉCANIQUE

• La sous-classe hérite de tous ce qui est protected et public.


• La sous-classe n’hérite pas des constructeurs.
• Type statique et type dynamique.
• Statique : le type attribué lors de la compilation. Il est écrit dans le code,
généralement avant le nom de la variable.
• Dynamique : le type est ajouté lors de l’exécution. La commande new construit la
référence vers le type dynamique.
IMPACT SUR LE MODÈLE DE LA
MÉMOIRE.

• Ajout d’une reference de la sous-classe vers la super-classe.


Exemple de code :
• [Link]
• [Link]
PieceEchec p = new Tour( 1, 1 );

Thread

Heap
Code
Principal Locale : main noColonne : 1
• main PieceEchec p noLigne : 1
Type dynamique :
PieceEchec
• Constructeurs

Tour
• constructeurs
RÉÉCRITURE ET SURCHARGE.

• Surcharge : signature différente pour le même nom de méthode.


• Réécriture : même signature pour le même nom de méthode.
• Doit être dans une sous-classe.
• Annotation @Override.
• Exemple avec la méthode equals.
• Utilisation de instanceof.
Exemple de code :
• [Link]
Exemple de code :
• [Link]
• [Link]
Thread

Heap
Code
Principal Locale : main noColonne : 1
• main PieceEchec p noLigne : 1
Type dynamique :
PieceEchec
• Constructeurs
• déplacer
• estDeplValide

Tour
• Constructeurs
• estDeplValide
QUELQUES CLASSES EXISTANTES

• Object.
• Exception.
• Enum.
• Class.
OBJECT

• Classe de base.
• Voir sur le site de Oracle.
• Méthode equals, clone et toString.
EXCEPTION

• Classe de base pour les exceptions.


• Voir sur le site de Oracle.
Exemple de code :
• [Link]
TYPE ÉNUMÉRÉ

• Permet de construire un type avec un nombre connu et limité d’instance


nommable.
• Hérite de la classe Enum.
• Voir sur le site de Oracle.
Exemple de code :
• [Link]
• [Link]
LA CLASSE CLASS

• Les instances de cette classe construisent les descripteurs de classes.


• Voir sur le site de Oracle.
CLASSES ET MÉTHODES ABSTRAITES

• Classe abstraite : ne peu pas avoir d’instance.


• Méthode abstraite : n’a pas de code.
RÈGLES IMPORTANTES

1. Si une classe contient au moins une méthode abstraite, alors cette classe doit
être abstraite.

2. Une classe hérite des méthodes abstraites de la classe mère.

3. Il est possible de réécrire une méthode abstraite.


Exemple de code :
• [Link]
• [Link]

Vous aimerez peut-être aussi