Introduction à l’Orienté Objet

Article originellement écrit par Rajendra David le dimanche 17 décembre 2006 à 22:05
Ma première intervention sur cette encyclopie du « Savoir Relatif et Absolu » concernera l’orienté objet en Java

La grande spécificité de java est d’être portable sur divers plateformes. En effet, un code compilé sur Windows peut être éxécuté sur une machin tournant avec le pinguin.
Mais Java c’est avant tout une language orienté objet.

Vous trouverez de la littérature sur le web à ce propos, je vais juste (humblement) essayer de vous faire sentir cette notion à travers des exemples très simples.

Le code en Java est structuré en classe. Alors kézakokecetruk?
Une classe est en fait une boite qui a des fonctionnalités.

Prenons pour exemple votre lecteur MP3. Ce dernier peut faire un certain nombre de chose: charger de la musique, écouter de la musique, baisser et augmenter le son, etc.
L’objet est le lecteur MP3 et les fonctions sont les fontionnalités que j’ai citées plus haut. De plus, ce lecteur MP3 contient des données que vous ne pouvez voir comme le nombre de fois que vous avez écouté les pistes ou le chemin de stockage des pistes MP3 dans la mémoire interne. Ces dernières sont appelées attributs.

C’est le programmeur qui va coder ces fonctions et attributs et qui va choisir ce qui est accessible de ce qui ne l’est pas, c’est le principe de l’orienté objet.
Vous êtes encore là? Bon pour les plus téméraires, je vais descendre un peu dans le code.

Voici un code typique en Java :

public class Lecteur_MP3
{

private int nbr_read; //nombre de fois que la musique est lue
private String path; //chemin où est stockée la musique

//Constructeur de la classe
public Lecteur_MP3()
{
//du code…
}

private void loadMusik()
{
//du code…
}

public void play(String nomMusik)
{
//du code…
}

public void increaseSound()
{
//du code…
}

public void decreaseSound()
{
//du code…
}

}

Non ce ne sont pas des formules sataniques, c’est bien du code qui permet de faire des programmes.
Voyons les principaux mots-clé:

  • « public » est un mot clé qui permet de dire que la fonction ou attribut est visible de l’extérieur.
  • « private » est le mot clé qui interdit l’acces à l’extérieur. Ainsi, seul l’objet lui même pourra y accéder.

Ces deux notions nous montrent déjà que cette boite (l’objet) contient des choses qui ne sont pas accessibles pour tout le monde. Il en est ainsi pour des raisons de sécurité et de propreté de programmation. Par exemple, quand on appuie sur le bouton pour augmenter le son, on ne veut pas que ce dernier déclenche le chargement des musiques.

Nous pouvons voir que nbr_read, path et loadMusik() ne sont pas accessibles de l’extérieur.

Ensuite qu’avons nous?

aaaa les types. Contrairement au C (ça n’est pas un reproche :-) ), le Java est très strict concernant le type des données. Un entier naturel est un entier naturel et pas un caractère!
Voici les types que j’ai évoqué dans mon code.

  • « int » ce type correspond aux entiers relatifs.
  • « String » ce type correspond à une chaine de caractère cad que ce type peut être une lettre, un mot ou une phrase. (donc rien à voir avec le bout de tissu du même nom…)
  • « void » vide en anglais.

Vous savez maintenant comment définir des attributs et des fonctions à savoir :
« accessibilité » « type » « nom de la fonction ou de l’attribut » et les données à entrer dans la fonctions si elle en a besoin. Ces dernières sont appelées argument.

Le type pour une fonction correspond au type de retour de la fonction. En effet, je n’ai pas trouvé d’exemple pour le lecteur MP3 mais une fonction peut retourner une donnée lorsqu’elle est appelée.
Prenons comme exemple une calculatrice. On pourrait avoir la fonction qui retourne la somme de deux chiffres fournis en argument. Nous aurons la déclaration suivante:

public int sum(int a, int b) //accessibilité type nom (argument)
{
return a+b;
}

Nous avons donc une fonction qui prend en argument deux entiers et qui retourne un entier. Le mot-clé return, finit la fonction est renvoie le résultat.

Mais alors quelle est l’utilité de définir un type qui correspond au vide? En fait, ce mot est utilisé dans la déclaration des fonctions. En effet, une fonction peut retourner des données mais peut ne rien retourner du tout (c’est son droit après tout) dans ce cas, on met « void » et on dénominera ces fontionnalités « méthode » plutot que fonction.

Voilà, vous savez le minimum vital sur Java.

Bon je suis de bonne humeur et c’est mon premier post, je vais donc faire ma BA de la journée (voir du mois) en révélant comment appeler une fonction en Java.

Lecteur_MP3 lecteurMP3 = new Lecteur_MP3; // pour créer l’objet, on dit « instancier » quand on veut se la jouer grand programmeur.
lecteurMP3.play(« I’m singing in the rain »); //lance cette fabuleuse musique

Ce contenu a été publié dans Programmation. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire