Utilité de super ?

Résolu
Bonjour,

Je voudrais savoir l'utilité de "super" dans un programme en quoi il est si utile ?!
Si vous avez une petit exemple à me donner, car ce mot clef reste très flou dans ma tête...
Merci d'avance !!

1 réponse

  1. Modérateur
    Bonjour,

    Si tu as un héritage de classe (B extends A) et que tu écrit dans la classe B tu peux utiliser this pour référencer les méthodes/constructeurs de B et super pour référencer les méthodes/constructeurs de A.

    Exemple (bidon, mais c'est pour comprendre)

    public class Rectangle {
    
        private double largeur;
        private double hauteur;
    
        public Rectangle(double largeur, double hauteur) {
            this.largeur = largeur;
            this.hauteur = hauteur;
        }
    
        public double aire() {
            return largeur*hauteur;
        }
    }
    
    public class Carré extends Rectangle {
    
        public Carré(double côté) {
            super(côté, côté); // appel le constructeur Rectangle(côté, côté)
        }
    
        public double aire() {
            return super.aire(); // appel la méthode aire() de Rectangle
        }
    }
    1. Ok merci c'est bon j'ai enfin compris...