Les classes Java

Décembre 2016

La notion d'objet


Le langage Java intègre fortement le concept objet, il s'agit donc d'un langage orienté objet (LOO). Le terme langage orienté objet est plus qu'une simple appellation de plus pour désigner un type de langage, il s'agit réellement d'une façon de programmer à part entière, un état d'esprit...
Pour comprendre clairement le concept d'objet, reportez-vous à la partie Programmation orientée objet!

Les classes avec Java


Pour pouvoir manipuler des objets, il est essentiel de définir des classes, c'est-à-dire définir la structure d'un objet. Cette définition avec Java se fait de la manière suivante :

public class NomDeLaClasse {
 // Instructions permettant de définir la classe
}

Avec Java il ne faut pas ajouter de point-virgule à la fin du bloc de définition de la classe, contrairement au langage C++...

NomDeLaClasse représente bien évidemment le type d'objet désigné par la classe ou du moins le nom que vous leur attribuez.

Remarques :

  • Par convention le nom d'une classe commence par une majuscule
  • Une classe public doit obligatoirement être codée dans un fichier .java qui porte son nom, en revanche on peut coder autant de classes "non-public" que l'on veut dans le même fichier.

Déclaration des données membres


Jusqu'ici notre classe est vide (elle est toutefois syntaxiquement correcte), c'est-à-dire qu'elle ne contient ni données (appelées données membres) ni traitements (fonctions appelées méthodes). En réalité elle hérite malgré tout des propriétés de la classe Object qui est commune à toutes les classes.

Les données membres sont des variables stockées au sein d'une classe. Elles doivent être précédées de leur type et (éventuellement) d'une étiquette précisant leur portée, c'est-à-dire les classes ayant le droit d'y accéder.

Ces étiquettes sont au nombre de trois :

  • public
  • private
  • protected

Pour comprendre en détail ces étiquettes, reportez-vous au chapitre sur l'encapsulation. En l'absence d'aucune de ces trois étiquettes, c'est par défaut un quatrième mode qui est utilisé, parfois appelé "friendly", qui se comporte comme étant public au sein du package de la classe, et private en dehors.

Ainsi, une classe comportant quatre données membres peut par exemple ressembler à ceci :

public class Voiture {
    public String marque;
    private double vitesse;
    protected float prix;
    String immatriculation;
}

Déclaration des méthodes


Les données membres permettent de conserver des informations relatives à la classe, tandis que les méthodes représentent les traitements qu'il est possible de réaliser avec les objets instanciés de la classe. Elles permettent en particulier de garantir l'intégrité de ces données membres (généralement private) en effectuant sur celles-ci uniquement des traitements corrects.

La définition d'une méthode se fait en définissant le prototype et le corps de la fonction à l'intérieur de la classe en une opération.

Voici donc la syntaxe d'une classe avec des méthodes :

public class Nom_de_la_classe {
    // Instructions permettant de définir les données membres de la classe;

    // Instructions permettant de définir les méthodes de la classe;

    TypeDeValeurRenvoyée nomDeLaMethode(TypeDuParametre1 nomDuParametre1, TypeDuParametre2 nomDuParametre2) {
        // Instructions du corps de la méthode
    } 
}

Remarques :

  • Par convention le nom d'une méthode commence par une minuscule
  • L'encapsulation concerne également les méthode de manipulation des données membres. On peut donc placer l'une des trois étiquettes (public, protected, private) devant les méthodes.

A voir également :

Ce document intitulé «  Les classes Java  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.