Objectif d'apprentissage 3.1.A : Représenter la conception d'un programme en utilisant un langage naturel ou en créant des diagrammes indiquant les classes du programme et les abstractions de données et procédurales trouvées dans chaque classe en incluant tous les attributs et comportements.
- 3.1.A.1 L'abstraction est le processus de réduction de la complexité en se concentrant sur l'idée principale. En masquant les détails irrelevants pour la question en cours et en regroupant des détails connexes et utiles, l'abstraction réduit la complexité et permet de se concentrer sur l'idée.
- 3.1.A.2 L'abstraction de données fournit une séparation entre les propriétés abstraites d'un type de données et les détails concrets de sa représentation. L'abstraction de données gère la complexité en donnant un nom aux données sans faire référence aux détails spécifiques de la représentation. Les données peuvent prendre la forme d'une variable unique ou d'une collection de données, comme dans une classe ou un ensemble de données.
- 3.1.A.3 Un attribut est un type d'abstraction de données défini dans une classe hors de toute méthode ou constructeur. Une variable d'instance est un attribut dont la valeur est unique pour chaque instance de la classe. Une variable de classe est un attribut partagé par toutes les instances de la classe.
- 3.1.A.4 L'abstraction procédurale fournit un nom à un processus et permet à une méthode d'être utilisée en ne sachant que ce qu'elle fait, pas comment elle le fait. Grâce à la décomposition de méthodes, un programmeur décompose les grands comportements de la classe en petits comportements en créant des méthodes pour représenter chaque petit comportement individuel. Une abstraction procédurale peut extraire des caractéristiques partagées pour généraliser la fonctionnalité au lieu de dupliquer du code. Cela permet la réutilisation du code, ce qui aide à gérer la complexité.
- 3.1.A.5 L'utilisation de paramètres permet de généraliser les procédures, rendant les procédures réutilisables avec une gamme de valeurs d'entrée ou d'arguments.
- 3.1.A.6 L'utilisation de l'abstraction procédurale dans un programme permet aux programmateurs de modifier l'interne d'une méthode (pour la rendre plus rapide, plus efficace, utiliser moins de stockage, etc.) sans avoir besoin d'avertir les utilisateurs de la méthode du changement, tant que la signature de la méthode et ce que fait la méthode sont préservés.
- 3.1.A.7 Avant d'implémenter une classe, il est utile de prendre le temps de concevoir chaque classe, y compris ses attributs et comportements. Cette conception peut être représentée à l'aide d'un langage naturel ou de diagrammes.

