Java : modélisation objetAuteur : Julien Gauchet le 04/09/2017 (1 revision)

1. Qu'est ce que la modélisation

Modéliser un système avant sa réalisation permet de mieux comprendre le fonctionnement du système. C'est également un bon moyen de maîtriser sa complexité et d'assurer sa cohérence. Un modèle est un langage commun, précis, qui est connu par tous les membres de l'équipe et il est donc, à ce titre, un vecteur privilégié pour communiquer. Cette communication est essentielle pour aboutir à une compréhension commune aux différentes parties prenantes (notamment entre la maîtrise d'ouvrage et la maîtrise d'œuvre informatique) et précise d'un problème donné.

La modélisation d'un problème informatique consiste à définir les objets manipulés et les liens qu'ils ont entre eux.

2. Les concepts de modélisation

Pour illustrer ces concept, nous utiliserons un exemple de gestion d'une bibliothèque

2.1. Les classes

Définition

On appelle classe la structure d'un objet, c'est-à-dire la déclaration de l'ensemble des entités qui composeront un objet. Un objet est donc « issu » d'une classe, c'est le produit qui sort d'un moule. En réalité on dit qu'un objet est une instanciation d'une classe, c'est la raison pour laquelle on pourra parler indifféremment d'objet ou d'instance (éventuellement d'occurrence).

Une classe est composée de deux parties :

  • Les attributs : il s'agit des données représentant l'état de l'objet
  • Les méthodes : il s'agit des opérations applicables aux objets

Comment créer une classe en java

Définir une classe c'est définir les données manipulées en créant un nouveau type de donnée. Pour cela, nous allons :

  • Créer une nouvelle classe en lui donnant le nom du type de données manipulées
  • Déclarer un certain nombtre d'attributs au sein de la classe
  • Créer un constructeur expliquant de quelle manière sera instancié ce nouveau type de données
  • Définir les méthodes composant la classe. En particulier les méthodes d'accès aux données de la classe

La visibilité

La visibilité permet de définir le niveau auquel on accède à un attribut ou a une méthode. Il existe 3 types de visibilités en java :

  • private : l'attribut ou la méthode ne peut être appelé qu'au sein de la classe dans lequel il est définit
  • protected : l'attribut ou la méthode ne peut être appelé que dans le package contenant la classe dans lequel il est définit
  • public : l'attribut ou la méthode peut être appelé partout

Une bonne pratique est de déclarer les attributs en visibilité private et d'écrire un type particulier de fonction : les getter/setter afin de récupérer le contenu de l'attribut ou de modifier sa valeur

Exemple

Par exemple, pour notre gestion de bibliothèque, nous aurons une classe Livre qui contiendra un titre, un auteur, une année de parution


public class Livre {
	
	private String titre;
	private String auteur;
	private int anneeParution;
	
	public Livre(String titre, String auteur, int anneeParution){
		this.titre=titre;
		this.auteur=auteur;
		this.anneeParution=anneeParution;
	}

	public String getTitre() {
		return titre;
	}

	public void setTitre(String titre) {
		this.titre = titre;
	}

	public String getAuteur() {
		return auteur;
	}

	public void setAuteur(String auteur) {
		this.auteur = auteur;
	}

	public int getAnneeParution() {
		return anneeParution;
	}

	public void setAnneeParution(int anneeParution) {
		this.anneeParution = anneeParution;
	}
	
}

Une classe UML

Classe livre