ntro.ca

        • Contrats de classe
        • Liens utiles
        • Calendrier
        • Calendrier groupe 2
        • Calendrier groupes 1, 3
        • Structure du cours
        • Évaluations
        • Matériel à se procurer
        • Les profs
          • Marc-Olivier Tremblay
          • Mathieu Bergeron
        • Module 1.1: installation + trier des cartes
        • Module 1.2: rappels POO
        • Module 1.3: tableau d'objets
        • Examen 1
        • Module 2.1: données JSON
        • Module 2.2: données en Java
        • Module 2.3: récursivité
        • Examen 2
        • Module 3.1: structure générique
        • Module 3.2: efficacité (1)
        • Module 3.3: efficacité (2)
        • Examen 3
        • Module 4.1: liste naïve
        • Module 4.2: liste par tableau
        • Module 4.3: liste chaînée
        • Examen 4
        • Module 5.1: mappage naïf
        • Module 5.2: mappage par hachage
        • Module 5.3: mappage par arbre
        • Examen 5
        • Équipes
          • Horaire groupe 1
          • Horaire groupe 2
          • Horaire groupe 3
          • Groupe 1
          • Groupe 2
          • Groupe 3
        • Projets vedettes 2022
        • Projets vedettes 2023
        • Projets vedettes 2024
        • Projets vedettes 2025
        • Survol
        • Structure
        • Calendrier
        • Calendrier des séances
        • Évaluations
        • Exemples de jeu
        • Exemples de pages
        • Réponses à vos questions
        • Module 1: créer le projet
        • Module 2: concevoir l'application
        • Module 3: vues NtroFx
        • Module 4: modèle et navigation
        • Module 5: ajouter le dorsal, modifier le modèle
        • Module 7: améliorer l'affichage
        • Module 8: jeu en 2d
        • Module 9: client/serveur
        • Module 10: plusieurs instances du même modèle
        • TP1
        • Examen 1
        • TP2
        • Examen 2
        • Projet de fin de session
        • Calendrier
        • Structure du cours
        • Évaluations
        • Contrat de classe
        • Le prof
        • 01: Windows et Word
          • Astuces et raccourcis
        • 02: Word
        • 03: Word
          • Exercice Word: insertion d'éléments spéciaux
          • Exercice Word: tableaux
        • 04: Word
          • Exercice Word: références
          • TP01: Word (15%)
        • 05: PowerPoint
          • TP02: PowerPoint (10%)
        • 06: Examen Word (20%)
        • 07: Excel
        • 08: Excel
        • 09: Excel
          • TP03: Excel (15%)
        • 10: Excel
        • 11: Examen Excel (20%)
        • 12: Access
        • 13: Access
        • 14: Access
        • 15: Examen Access
      • Sondage H2023 (dept. info)
      • Vision H2023 (dept. info)
      • P1) exercices interactifs de lecture
      • P2) transition Excel vers Python
        • Atelier 2: un exemple
      • Jquery
      • Jquery Ui
      • Point de vue sur l'IA
    Atelier 1.2 exercice A: héritage
    • Atelier 1.2 exercice A: héritage
      • Objectifs
      • Réalisation
        • Étape 01: créer la classe MonAtelier1_2_A
        • Étape 02: hériter de Atelier1_2_A
        • Étape 03: créer la classe Vehicule
        • Étape 04: créer la classe DeuxRoues
        • Étape 05: créer la classe QuatreRoues
        • Étape 06: créer la classe Moto
        • Étape 07: créer la classe Mobilette
        • Étape 08: créer la classe Auto
        • Étape 09: créer la classe Camion
        • Étape 10: créer la classe Fourgonnette
        • Étape 11: ajouter les méthodes implantées
        • Étape 12: ajouter les méthodes redéfinies
        • Étape 13: ajouter la méthode main
        • Étape 14: exécuter pour valider

    Atelier 1.2 exercice A: héritage #

    Objectifs #

    • Créer la classe MonAtelier1_2_A qui hérite de la classe Atelier1_2_A

    • Implanter les méthodes pour remplir le contrat de Atelier1_2_A

    • Créer les classes de la hiérarchie suivante:

    • Implanter ou redéfinir les méthodes suivantes, dans les bonnes classes

      • public int nombreDeRoues()
        • retourne le nombre de roues du véhicule
      • public double consommationLitresParKilometre()
        • retourne la consommation théorique en litres/kilomètres
          • Mobilette: 1.5
          • Moto: 3.5
          • Auto: 8.0
          • Fourgonnette: 12.0
          • Camion: 14.0
      • public double litresEssenceConsomes(double kilometres)
        • calcule la consommation en litres pour un certain kilométrage
    • Ajouter la méthode main à la classe MonAtelier1_2_A:

    public class MonAtelier1_2_A extends Atelier1_2_A {
        
        public static void main(String[] args) {
            
            new MonAtelier1_2_A().valider();
        }
    
    • Dans MonAtelier1_2_A, compléter les méthodes fournirMoto, fournirMobilette, etc.
        @Override
        public Object fournirMoto() {
            return new Moto();
        }
    
        @Override
        public Object fournirMobilette() {
            return new Mobilette();
        }
    
        @Override
        public Object fournirAuto() {
            return new Auto();
        }
    
        @Override
        public Object fournirCamion() {
            return new Camion();
        }
    
        @Override
        public Object fournirFourgonnette() {
            return new Fourgonnette();
        }
    
    • Exécuter mon projet et valider mes classes et mes méthodes

    Réalisation #

    Étape 01: créer la classe MonAtelier1_2_A #

    1. Je crée une nouvelle classe nommée MonAtelier1_2_A
      • Clique-droit sur le projet => New => Class
        • Nom de la classe: MonAtelier1_2_A

    Étape 02: hériter de Atelier1_2_A #

    1. J’ouvre MonAtelier1_2_A et j’ajoute extends Atelier1_2_A

    2. J’utilise Ctrl+.Eclipse: Ctrl+1 pour ajouter le import de Atelier1_2_A

    3. J’utilise Ctrl+.Eclipse: Ctrl+1 pour générer les méthodes manquantes

      • option add unimplemented methods

    Étape 03: créer la classe Vehicule #

    1. Je crée une nouvelle classe nommée Vehicule
      • Clique-droit sur le projet => New => Class
        • Nom de la classe: Vehicule

    Étape 04: créer la classe DeuxRoues #

    1. Je crée une nouvelle classe nommée DeuxRoues

      • Clique-droit sur le projet => New => Class
        • Nom de la classe: DeuxRoues
    2. J’ouvre DeuxRoues et j’ajoute extends Vehicule

      public class DeuxRoues extends Vehicule {
      

    Étape 05: créer la classe QuatreRoues #

    1. Je crée une nouvelle classe nommée QuatreRoues

      • Clique-droit sur le projet => New => Class
        • Nom de la classe: QuatreRoues
    2. J’ouvre QuatreRoues et j’ajoute extends Vehicule

      public class QuatreRoues extends Vehicule {
      
      

    Étape 06: créer la classe Moto #

    1. Je crée une nouvelle classe nommée Moto

      • Clique-droit sur le projet => New => Class
        • Nom de la classe: Moto
    2. J’ouvre Moto et j’ajoute extends DeuxRoues

      public class Moto extends DeuxRoues {
      

    Étape 07: créer la classe Mobilette #

    1. Je crée une nouvelle classe nommée Mobilette

      • Clique-droit sur le projet => New => Class
        • Nom de la classe: Mobilette
    2. J’ouvre Mobilette et j’ajoute extends DeuxRoues

      public class Mobilette extends DeuxRoues {
      
      

    Étape 08: créer la classe Auto #

    1. Je crée une nouvelle classe nommée Auto

      • Clique-droit sur le projet => New => Class
        • Nom de la classe: Auto
    2. J’ouvre Auto et j’ajoute extends QuatreRoues

      public class Auto extends QuatreRoues {
      
      

    Étape 09: créer la classe Camion #

    1. Je crée une nouvelle classe nommée Camion

      • Clique-droit sur le projet => New => Class
        • Nom de la classe: Camion
    2. J’ouvre Camion et j’ajoute extends QuatreRoues

      public class Camion extends QuatreRoues {
      
      

    Étape 10: créer la classe Fourgonnette #

    1. Je crée une nouvelle classe nommée Fourgonnette

      • Clique-droit sur le projet => New => Class
        • Nom de la classe: Fourgonnette
    2. J’ouvre Fourgonnette et j’ajoute extends QuatreRoues

      public class Fourgonnette extends QuatreRoues {
      
      

    Étape 11: ajouter les méthodes implantées #

    1. J’ouvre Vehicule et j’implante les méthodes suivantes:
    	public int nombreDeRoues() {
    		return 0;
    	}
    
    	public double litresEssenceConsomes(double kilometres) {
    		return kilometres * consommationLitresParKilometre();
    	}
    
    	public double consommationLitresParKilometre() {
    		return 0.0;
    	}
    

    Étape 12: ajouter les méthodes redéfinies #

    • J’ouvre DeuxRoues et je redéfinis la méthode suivante:
    	@Override
    	public int nombreDeRoues() {
    		return 2;
    	}
    
    • J’ouvre QuatreRoues et je redéfinis la méthode suivante:
    	@Override
    	public int nombreDeRoues() {
    		return 4;
    	}
    
    • J’ouvre Mobilette et je redéfinis la méthode suivante:
    	@Override
    	public double consommationLitresParKilometre() {
    		return 1.5;
    	}
    
    • J’ouvre Moto et je redéfinis la méthode suivante:
    	@Override
    	public double consommationLitresParKilometre() {
    		return 3.5;
    	}
    
    • J’ouvre Auto et je redéfinis la méthode suivante:
    	@Override
    	public double consommationLitresParKilometre() {
    		return 8.0;
    	}
    
    • J’ouvre Camion et je redéfinis la méthode suivante:
    	@Override
    	public double consommationLitresParKilometre() {
    		return 14.0;
    	}
    
    • J’ouvre Fourgonnette et je redéfinis la méthode suivante:
    	@Override
    	public double consommationLitresParKilometre() {
    		return 12.0;
    	}
    

    Étape 13: ajouter la méthode main #

    1. J’ouvre MonAtelier1_2_A et j’ajoute la méthode main
    public class MonAtelier1_2_A extends Atelier1_2_A {
        
        public static void main(String[] args) {
            
            new MonAtelier1_2_A().valider();
        }
    

    Étape 14: exécuter pour valider #

    1. J’exécute mon programme

    2. Je vérifie que la validation est réussie:

    Creative Commons License Creative Commons Attribution Creative Commons ShareAlike
    • Atelier 1.2 exercice A: héritage
      • Objectifs
      • Réalisation
        • Étape 01: créer la classe MonAtelier1_2_A
        • Étape 02: hériter de Atelier1_2_A
        • Étape 03: créer la classe Vehicule
        • Étape 04: créer la classe DeuxRoues
        • Étape 05: créer la classe QuatreRoues
        • Étape 06: créer la classe Moto
        • Étape 07: créer la classe Mobilette
        • Étape 08: créer la classe Auto
        • Étape 09: créer la classe Camion
        • Étape 10: créer la classe Fourgonnette
        • Étape 11: ajouter les méthodes implantées
        • Étape 12: ajouter les méthodes redéfinies
        • Étape 13: ajouter la méthode main
        • Étape 14: exécuter pour valider