objets et paquetages

publicité
Principes de programmation (suite)
•Langage Java
–Enregistrements
–Les classes et les objets
•Introduction
•Membres static
•Paquetages java
–String et StringBuffer
–Enveloppeurs
–Math
–Arrays
LES ENREGISTREMENTS
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.
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.).
Enregistements
•
Représentation graphique
Exemple : Enregistrement de type Personne contenant le nom, le prénom, l’âge et la date de
naissance
unePersonne
Personne
Nom
Prénom
Gingras
Toto
Âge
29
Date de naissance
•
09-09-1999
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
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;
“???????????????...”
“???????????????...”
?
32
Personne unePersonne;
“??????????”
“???????????????...”
unePersonne.age = 32;
•
On peut avoir des tableaux d’enregistrements
LES CLASSES ET LES OBJETS
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.
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)
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.
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
objet
Classe
attributs
méthodes
Les classes et les objets
Exemple : Animaux unAnimal;
unAnimal
référence
L’objet (ou l’instance)
unAnimal.nom
unAnimal.getNom();
Données membres
private String nom;
private double poid;
public String getNom();
public double getPoid();
public void setNom(String unNom );
public void setPoid(double unPoid);
//illégal car privé
//légal car public, la fonction s’exécutera Méthodes membres
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(…)
QUELQUES PAQUETAGES
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/
Les classes de Java
• 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
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,...)
Téléchargement