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!
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 :
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 :
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;
}
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 :
Vous n'aimez pas le lifting de Facebook ? Le site Mashable propose cinq étapes pour revenir à l'ancienne présentation du réseau social.