À l'issue du module M226a, l'apprenant est capable de : Concepts généraux - Expliquer ce qu'est la signature d'une méthode - Expliquer ce qu'est une instanciation - Expliquer ce qu'est le polymorphisme - Expliquer ce qu'est un héritage - Expliquer ce qu'est une variable membre, un attribut ou une propriété - Expliquer ce qu'est un constructeur - Expliquer ce qu'est la surcharge de méthodes - Expliquer ce qu'est la visibilité d'une méthode ou d'un attribut - Citer les trois niveaux de visibilité et leurs différences (private, protected, public) - Choisir un type de données adapté à l'information - Expliquer ce qu'est une méthode statique (ou méthode de classe) - Expliquer ce qu'est une variable statique (ou variable de classe) Java : - Citer quelques types de base de Java - Faire des comparaison entre types de base - Expliquer la différence entre un objet et un type de base - Expliquer ce qu'est une référence en Java - Expliquer les 4 étapes d'instanciation d'un objet. - Expliquer quelles sont les limites dans l'usage des opérateur de comparaison de Java. - Expliquer la différence entre un type de base et son type encapsulé - Expliquer ce qu'est la classe Object et quelle est sa particularité - Expliquer le fonctionnement de System.out.println - Faire des comparaisons d'objets techniques (fournis par Java) - Déclarer et utiliser un type énuméré - Déclarer et utiliser des constantes - Implémenter en Java un diagramme de classes donné. - Implémenter en Java une classe possédant des attributs et des méthodes. - Implémenter en Java un constructeur et ses surcharges. - Implémenter en Java les différentes visibilités (private, protected, public) - Implémenter en Java les accesseurs et mutateurs nécessaires. - Implémenter en Java un classe abstraite - Implémenter en Java un héritage - Appeler le constructeur de la classe de base (super) - Résoudre le problème de visibilité entre une variable locale et une variable membre (this) - Instancier un tableau de taille statique. - Utiliser des classes techniques (Math, ArrayList, etc) - Utiliser les méthodes mises à disposition par un type encapsulé - Effectuer les opérations de bases sur un ArrayList (add, get, size, remove, clear, contains) - Implémenter une boucle for sur une liste d'objets - Implémenter une boucle for classique - Vérifier le type exact d'un objet (instanceof) - Faire une conversion explicite valide d'une référence sur un objet. - Faire une conversion explicite entre les types de base - Nommer judicieusement les classes, méthodes et variables - Documenter un programme java au moyen de Javadoc. - Respecter les conventions de nommage de Java. - Ecrire un code lisible - Indenter correctement le code écrit. Conception et UML : - Représenter de façon détaillée une classe en UML - Représenter de façon simplifiée une classe en UML - Représenter correctement le type d'une variable en UML - Représenter correctement le type de retour d'une méthode en UML - Identifier et représenter en UML la visibilité (privée, publique, protégée) d'un attribut ou d'une méthode - Identifier et représenter en UML une association, une agrégation et une composition - Identifier et représenter un UML héritage (par une flèche) - Identifier quelles propriétés sont propres à une classe de base, quelles propriétés sont propres à une classe dérivée. - Identifier quelles méthodes sont propres à une classe de base, quelles méthodes sont spécifiques à une classe dérivée. - Identifier quelles méthodes d'une classe de base doivent être abstraites. - Représenter en UML une classe abstraite et des méthodes abstraites - Représenter une note - Identifier et représenter en UML la cardinalité entre deux classes - Représenter une association directionnelle en UML - Représenter un type énuméré en UML - Représenter un objet (et ses attributs) en UML - Identifier et de représenter les rôles en UML - Concevoir une architecture de classes à partir d'un problème donné. - Comprendre un diagramme d'objets donné. - Comprendre un diagramme de classes donné. - Dessiner un diagramme UML à main levée de façon propre. Environnement de développement - Utiliser le débogueur.