classe d'association

Publié le par jö

Une entrée vouée à une application informatique : je débute en programmation orientée objet et la logique (la discipline) est venue à mon secours pour comprendre le passage de ce diagramme :


,qui symbolise le fait que la classe J est une classe issue de l'association entre les classes I et K, et ce squelette de déclaration obtenu par traduction automatique en Java :

public class I {public K J;}
public class J {}
public class K {public I J;}

qui traduit que I et K imposent à leurs instances respectives une existence mutuelle alors que J n'impose aucune contrainte préalable à ses instances alors que, intuitivement, j'aurais plutôt fait dépendre J de I et K.

Pour me convaincre de la cohérence de cette logique (la démarche), je vais utiliser une table de Vérité :
IJKV
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
car
  1. il est impossible qu'un objet de classe J existe s'il n'y a ni objet de classe I ni objet de classe K
  2. il est impossible qu'un objet de classe J existe si aucun objet de classe I n'existe
  3. il est impossible qu'un objet de classe J existe si aucun objet de classe K n'existe
Après réduction on a V = non(J) + I.K, donc il n'y a que deux situations : soit l'objet de classe J n'existe pas, soit I et K existent simultanément (il faut alors nécessairement qu'elles contrôlent les existences préalables des instances mutuelles) pour assurer la possibilité d'existence de l'instance de J.

La suffisance est une autre histoire.

Publié dans mathblog

Commenter cet article