Chapitre 3
Chapitre 3
Chapitre 3
entre objets
Les objets communiquent en échangeant des messages (invocation des méthodes).
Les constructeurs des classes mères sont invoqués par les sous classes
• Héritage simple
• Héritage à plusieurs niveaux
• Héritage hiérarchique
• Héritage multiple
• Héritage hybride
Non supporter en JAVA
Class A
Class B
Héritage simple
Single inheritance
Class A
Class B
Class C
Class A
Class B Class C
Héritage hiérarchique
Hierarchical inheritance
Class A Class B
Class C
Class B Class C
Héritage Hybride
Hybrid inheritance
11 REGUIEG Hicham 24 décembre 2023
Héritage : Définition
c'est un mécanisme qui va permettre, comme son nom l'indique, de transmettre
toutes les méthodes d'une classe dite "mère" vers une autre dite "fille" et ainsi
de suite.
// Etudiant members
Etudiant
}
1. Méthodes : des méthodes de même noms peuvent avoir des comportements différents (body)
ou effectuer des opérations sur des données de type différents.
1. Surcharge : permet de définir plusieurs fois une même méthode avec des arguments différents .
compile time polymorphism (static polymorphisme or early binding)
Dans la même classe on utilise le même nom d’une méthode avec des signatures
différentes.
Personne
#id : String
#nom : String
#prenom : String
clone()
equals()
getClass()
toString()
.
.
hiding the internal implementation of the method and only showing the functionality to the users
Abstract classes allow you to create blueprints for concrete classes. But the
inheriting class should implement the abstract method.
float rayon;
public abstract class FormGeometrique {
String couleur
@Override
public abstract float calculerPerimtre();
public float calculerPerimtre() {
public abstract float calculerSurface();
// TODO Auto-generated method stub
return (float) (2.0f*rayon*Math.PI);
Public void afficherCouleur(){
}
Sysous(“couleur”);
}
@Override
public float calculerSurface() {
// TODO Auto-generated method stub
return (float) (Math.PI * rayon * rayon);
}
35 REGUIEG Hicham 24 décembre 2023
}
Class Abstract : règles
• Not GUI
• A list of method signature (abstract methods)
• Contract
• The interface is the only mechanism that allows achieving multiple inheritance in java
• Class implements 1..M interface.
extends Implements
extends
<<realize>>
Interface
Class
Implements }
<<realize>> public class ClassName implements InterfaceName
{
@Override
Class public void methode1() {}
@Override
public void methode2() {}
@Override
40 REGUIEG Hicham 24 décembre 2023 public void methode3() {}
}
Interface
Movable ou Convention
CanMove naming
interface Transaction
void retirer(float somme);
Implements Implements
Implements
extends « interface»
Interface C
public Interface C extends A, B{
}