17
Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets •Introduction •Membres static •Paquetages java –String et StringBuffer –Enveloppeurs –Math –Arrays

Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Embed Size (px)

Citation preview

Page 1: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Principes de programmation (suite)

•Langage Java–Enregistrements–Les classes et les objets

•Introduction•Membres static•Paquetages java

–String et StringBuffer–Enveloppeurs–Math–Arrays

Page 2: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

LES ENREGISTREMENTS

Page 3: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Enregistements

• Les enregistrements – Si on veut avoir plusieurs informations sur une entité avec les tableaux, il

faut un tableau par information.

– Nom– Prénom– Âge– Date de naissance

– Les enregistrements existent pour pallier à cette contrainte.

– C’est un contenant qui regroupe des données pouvant être de type différent.

Page 4: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Enregistements

• Les enregistrements – On peut considérer un enregistrement comme un type

– Catégorie de données

• Une variable contenant une ou plusieurs informations pouvant être de type différent

• Chaque information est appelée un champ et le champ est considéré comme une variable

• Un champ a un nom

– Intervalle

• Nombre de champs

– Opérations

• Accéder à un champ

• Toutes les autres opérations sont des fonctions du langage ou elles doivent être définies par le programmeur (comparer, copier, etc.).

Page 5: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Enregistements

• Représentation graphiqueExemple : Enregistrement de type Personne contenant le nom, le prénom, l’âge et la date de

naissance

unePersonne PersonneNom

Prénom

Âge

Date de naissance

• On accède aux champs avec le nom de l’enregistrement suivi d’un point(‘.’) suivi du nom du champ

Exemple : unePersonne.nom équivaut à “Gingras” dans cet exemple

Gingras

Toto

29

09-09-1999

Page 6: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Enregistements

• Exemple de définition de l’enregistrement Personne en C

typedef struct { char prenom[40]; char nom[60]; int age; char dateNaissance [10];} Personne;

Personne unePersonne;

unePersonne.age = 32;

• On peut avoir des tableaux d’enregistrements

“???????????????...”

“???????????????...”

?

“???????????????...”

“???????????????...”

“???????????????...”

32

“??????????”

Page 7: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

LES CLASSES ET LES OBJETS

Page 8: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Les classes et les objets

• Introduction– Une classe est considérée comme un type– Par convention le nom des classes

commence par une majuscule.– Le nom des variables (attributs), des objets et

des membres commencent par une minuscule.

– Les variables de ce type sont des références qui pointent sur les données qu’on appelle des objets( ou des instances) de la classe.

Page 9: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Les classes et les objets

– On définit un objet comme on définit une variable. C’est le nom de la classe suivi du nom de l’objet

Exemple : Animaux unAnimal;

– C’est comme un enregistrement un peu spécial avec deux catégories de champs

• Des données membres (aussi appelées attributs ou variable d’instance)

• Des fonctions membres (appelées des méthodes)

Page 10: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Les classes et les objets– Par défaut les membres sont publiques donc

accessibles par un objet de la classe.

– Les membres peuvent être privés (inaccessible par l’objet) mais il faut le spécifier avec le modificateur d’accès private.

– Idéalement nous mettrons toujours les modificateurs d’accès même lorsque c’est public.

Page 11: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Les classes et les objets– Les membres (attributs et méthodes) sont accessibles

à partir d’un objet de la classe (sauf exception), comme un champ d’un enregistrement.

• Représentation graphique

Classeobjet attributs

méthodes

Page 12: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Les classes et les objetsExemple : Animaux unAnimal;

unAnimal

unAnimal.nom //illégal car privé

unAnimal.getNom(); //légal car public, la fonction s’exécutera

private String nom;

private double poid;

public String getNom();

public double getPoid();

public void setNom(String unNom );

public void setPoid(double unPoid);

référence

Données membres

Méthodes membres

L’objet (ou l’instance)

Page 13: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Les classes et les objets• Les membres static

– Ces membres sont accessibles via le nom de la classe qui les contient et non via le nom d‘un objet.

– Le nom de la classe est optionnel lorsque l’attribut membre ou la fonction membre est utilisé dans la même classe où il est défini.

Exemple :

La fonction pow de la classe Math est static. Ainsi, on l’utilise via le nom de la classe Math.pow(…). Si elle n’était pas static, il faudrait créer un objet de la classe Math avant de pouvoir utiliser la fonction-membre.

Math m;

m.pow(…)

Page 14: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

QUELQUES PAQUETAGES

Page 15: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Les paquetages de Java

java.lang.* est toujours accessible, il faut importer les autres paquetages que vous utilisez à l’aide de import.

Exemple : import java.util.*; //import toutes les classes de java.util

import java.util.Scanner; //import seulement la classe Scanner

http://java.sun.com/j2se/1.6.0/docs/api/

Page 16: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

• Il existe plusieurs classe prédéfinies en Java. En voici quelques-unes :

• Java.lang– String : Permet la création de chaînes de caractères.

Il est impossible de modifier les caractères dans la chaîne. Il faut changer la chaîne au complet.

– StringBuffer : Permet de manipuler une chaîne de caractères. Il est possible de modifier les caractères dans la chaîne et d’utiliser plusieurs autres fonctionnalités.

Les classes de Java

Page 17: Principes de programmation (suite) Langage Java –Enregistrements –Les classes et les objets Introduction Membres static Paquetages java –String et StringBuffer

Java.lang (suite)– Math : Implémente les fonctions

mathématiques de base (sqrt(), pow(), exp(), ...);

• java.util– Arrays : Permet la manipulation de tableau (tri,

fouille, remplissage,...)

Les classes de Java