Médiaforma

Java – Java, un langage orienté objet

Print Friendly

Depuis l’avènement de Windows, les langages objet connaissent un véritable succès. Si la programmation traditionnelle en BASIC, Pascal ou C est accessible au plus grand nombre, la programmation objet met en œuvre des procédés très particuliers qu’il convient de bien appréhender avant de se lancer tête baissée dans l’écriture des premières lignes de code.

Au même titre de Visual C++, Visual C# ou Delphi, Java est un langage objet. Comme tous les langages, Java repose sur un certain nombre d’instructions et est capable de manipuler certains types de données. Et comme tous les langages objet, Java manipule des entités abstraites appelées objets. Pour cela, il utilise des classes prédéfinies ou définies par le programmeur.

Une classe peut contenir des données et du code. Les données peuvent être des constantes et/ou des variables. Dans le second cas, on utilise souvent le terme propriétés pour les nommer. Le code consiste en une ou plusieurs procédures ou fonctions appelées méthodes. Les propriétés sont également qualifiées de données membres et les méthodes de fonctions membres.

Un programme qui fait référence à une classe peut comporter des instructions du type suivant :

void main() {
  ...
  Cylindre.rayon = 4.6;    // rayon de la base : 4,6 cm
  Cylindre.hauteur = 12;   // hauteur du cylindre : 12 cm
  vol = Cylindre.Volume(); // calcul du volume du cylindre
  ...
}

Les deux premières instructions initialisent les données membres, et la dernière appelle la fonction membre Volume(), qui calcule le volume du cylindre.

Les classes

Les instructions du langage Java ne représentent que la partie visible de l’iceberg : de nombreuses procédures et fonctions puissantes et universelles sont réparties dans des unités logiques appelées packages, livrées avec Java. Un package contient plusieurs méthodes, chacune d’elle étant spécialisée dans un traitement particulier des données qui lui sont confiées. Dans les sections suivantes, nous allons passer en revue quelques-uns des packages et sous-packages de Java :

Package Classes constitutives
java.lang Les principales classes du langage Java
java.io Entrées et sorties vers différents périphériques (écran, fichier, etc.)
java.util Utilitaires (vecteurs, hashtables, etc.)
java.net Support du réseau (URL, sockets, etc.)
java.awt Interface graphique indépendante de la plate-forme
java.awt.image Gestion des images

Mais avant de commencer, nous allons définir quelques termes qui reviendront tout au long de cet ouvrage. Vous verrez ensuite que vous pouvez non seulement utiliser les classes Java existantes aussi mais créer vos propres classes.

 

Objets

Pour faire un parallèle avec le monde réel, les objets sont omniprésents : humains, livres, plantes, etc.

En POO, un objet est caractérisé par une identité, des états et des comportements.

  • L’identité permet d’identifier l’objet sans ambiguïté
  • Les états sont stockés dans des propriétés (équivalentes à des variables)
  • Les comportements sont implémentés à l’aide de méthodes (procédures et fonctions)

A titre d’exemple, voici comment pourrait être modélisé un objet « être humain » :

  • Identité : nom ou numéro
  • Etats : taille, poids, couleur des yeux, etc.
  • Comportements : respirer, marcher, parler, etc.

Classes

Le monde réel regroupe des objets du même type. Il est pratique de concevoir une maquette (un moule) d’un objet et de produire les objets à partir  de cette maquette.

En POO, une maquette se nomme une classe. Une classe est donc un modèle de la structure statique (variables d’instance) et du comportement dynamique (les méthodes) des objets associés à cette classe.

Instances

Les objets associés à une classe se nomment des instances. Une instance est un objet, occurrence d’une classe, qui possède la structure définie par la classe et sur lequel les opérations définies dans la classe peuvent être appliquées.

C’est un gâteau issu du moule.

Composants ou membres

Un composant (ou membre) est constitué de propriétés et de méthodes.

On distingue les membres de classe et les membres d’instance.

Classes, instances et composants

Il est courant de créer une application fenêtrée contenant deux boutons appelés OK et Annuler. Chacun de ces boutons correspond à une instance de la classe JButton. En attribuant une valeur différente à leurs propriétés text et leur affectant des gestionnaires d’événements mouseClicked différents, vous faites se comporter différemment deux instances d’une même classe.

Les méthodes sont des procédures ou des fonctions associées à une classe. Généralement, les méthodes travaillent avec des objets. Cependant, il existe des méthodes de classe qui travaillent avec des types classe.

Les propriétés sont un moyen simple d’interfacer les données associées à un objet. En fonction de leur définition, elles peuvent être accédées en lecture et/ou en écriture.

Les objets sont des blocs de mémoire alloués dynamiquement. Leur structure est déterminée par le type de la classe dont ils héritent. Toutes les instances d’une classe partagent les mêmes méthodes. Par contre, chaque objet possède une copie unique de chacun des champs définis dans la classe. Les objets sont créés et détruits par des méthodes appelées (respectivement) constructeurs et destructeurs.

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply