cours de java de base

11
Intr oduction à JAVA Les Classes Première Partie

Upload: wiki-info-systeme

Post on 19-Dec-2014

666 views

Category:

Education


0 download

DESCRIPTION

Cours d'initiation en Java. Première partie pour comprendre les notions de classe en java.

TRANSCRIPT

Page 1: Cours de JAVA  de base

Introduction à

JAVALes Classes

Première Partie

Page 2: Cours de JAVA  de base

Plan

•Définition de Classe•Les membres d’une classe•Les constructeurs

Page 3: Cours de JAVA  de base

Définition « Classe »

La notion de classe constitue le fondement de la programmation orientée objet. Une classe est la déclaration d'un type d'objet.

En Java, les classes sont déclarées à l'aide du mot-clef class, suivi du nom de la classe déclarée, suivi du corps de la classe entre accolades. Par convention, un nom de classe commence par une majuscule.

Exemple:public class MaClasse { // corps de la classe }

Le fichier contenant cette déclaration doit avoir pour extension .java. Un fichier peut contenir plusieurs déclarations de classes (ce n'est pas recommandé, il faut partir du principe 1 classe = 1 fichier, pour des problèmes évidents de relecture du code, devoir modifier du code où plusieurs classes sont écrites dans un seul fichier est le meilleur moyen de faire n'importe quoi), mais il ne peut contenir qu'au plus une classe dite publique (dont le mot-clef class est précédé de public, comme dans l'exemple ci-dessus). Le fichier doit obligatoirement porter le même nom que cette classe publique : dans l'exemple ci-dessus, il faudrait donc sauver notre classe dans un fichier nommé MaClasse.java.

Page 4: Cours de JAVA  de base

Définition « Classe » | Suite

Un fichier .java peut commencer par une ou plusieurs déclarations d'import. Ces imports ne sont pas indispensables, mais autorisent en particulier l'accès aux classes prédéfinies sans avoir à spécifier leur chemin d'accès complet dans les collections de classes prédéfinies (organisées en packages).

Dans le code ci-dessous, on souhaite par exemple utiliser la classe prédéfinie Vector (un type de données comparable à des tableaux dont la taille peut varier dynamiquement). Dans la sous-collection de classes prédéfinies "java", cette classe se trouve dans la sous-collection "util" (ou encore : cette classe est dans le package "java.util").

Sans import, il faut spécifier le nom complet de la classe (packages inclus) :

Exemple:public class MaClasse { // ... public static void main(String[] args)

{ // sans l'import : java.util.Vector v = new java.util.Vector(); // ... }

}

Page 5: Cours de JAVA  de base

Définition « Classe » | Suite

Avec import, seul le nom de la classe (sans packages) utilisée est nécessaire :

Exemple:import java.util.Vector; public class MaClasse { // ... public static void main(String[] args)

{ // avec l'import : Vector v = new Vector(); // ... }

}

Instanciation d'une classe

Un objet peut être vu comme un ensemble de données regroupées à la manière des structures de C ou des enregistrements de Pascal. Une classe définit un modèle d'objet. Chaque objet créé à partir d'une classe est appelé instance de cette classe. L'ensemble de données internes d'un objet - les champs de cet objet - est spécifié par sa classe. Une classe peut en outre contenir : d'une part, des constructeurs - du code destiné à l'initialisation de ses instances au moment de leur création ; d'autre part des méthodes - du code destiné à la gestion des données internes de chacune de ses instances. On dit que ces méthodes sont invocables sur les objets.

Page 6: Cours de JAVA  de base

Les membres d’une classe

1) AttributUn attribut d'une classe se déclare avec un spécificateur d'accès qui précise son niveau de visibilité. Dans un premier temps les deux seuls spécificateurs d'accès que nous verrons sont public et private.

Exemple:private String Libelle;

Remarque: a) Il est possible d'attribuer des valeurs par défaut aux champs de donnée. b) Les attributs sont déclarés privés, c'est à dire inaccessibles en dehors de la classe produit

2) MéthodeLe rôle d'une méthode est d'effectuer un traitement en utilisant, en général, les données. Les méthodes peuvent être publiques ou privées. L'ensemble des méthodes publiques représente l'interface de la classe, sa partie "utilisable" à l'extérieur.

On peut les classer en trois groupes selon leurs fonctionnalitésc) Les fonctions de créationd) Les méthodes accesseurs/modificateurs

Page 7: Cours de JAVA  de base

Les membres d’une classe |Suite

Les fonctions de création.Ces fonctions qui permettent de créer des objets seront étudiées un peu plus loin.

Les méthodes accesseurs/modificateurs Elles permettent soit de donner l'état de l'objet sans le modifier (on utilise en général le préfixe Get), soit de soit de modifier l'état de l'objet (on utilise en général le préfixe Set) Exemple: public String GetLibelle() { return this.Libelle; }

public void SetStock(int s) { this.QtStock = s; }

Remarque: nous avons utilisé le mot réservé this afin de faire référence à l'objet courant, cette écriture (non indispensable) améliore la lisibilité.

Page 8: Cours de JAVA  de base

Les constructeurs

Java propose des méthodes particulières qui ont comme rôle d'initialiser les attributs, ce sont les constructeurs. Un constructeur est appelé automatiquement au moment au moment de la création de l'objet à l'aide de l'opérateur new.

Les constructeurs ont une signature particulière.Ils portent le nom de la classe.Ils ne retourne rien, pas même void.

Exemple: public Produit( String l, int p, int q) { this.Libelle = l; this.Prix = p; this.QtStock = q; }

Chaque objet de la classe Produit sera instancié en utilisant le constructeur. On peut écrire plusieurs constructeurs pour une classe. Il existe des Constructeurs paramétrés et des constructeurs non paramètres. Le mécanisme permettant de définir plusieurs méthodes ayant le même nom (mais pas la même signature) s'appelle une surcharge. Le mécanisme de surcharge s'inscrit dans un concept plus général, celui de polymorphisme.

Page 9: Cours de JAVA  de base

Les constructeurs | Suite

Produit p = new Produit( ); // appel du constructeur par défaut.Produit p1 = new Produit("scie",50, 10); //appel du constructeur à trois arguments

Le langage appellera le constructeur correspondant aux arguments passés au moment de l'appel.

Remarque:

Il est fortement conseiller de toujours fournir au moins un constructeur à chaque classe.______________________________________________________________________________

Recherche pour analyse et discussion pour le prochain cours:Les Variables de classes

Le principe d’encapsulationChamps et méthodes statiques

Passage de paramètres dans les méthodesHéritage

Page 10: Cours de JAVA  de base

Préparé par: ING. David JOSEPH(Ingénieur Logiciel)

Page 11: Cours de JAVA  de base

Une production de:

En collaboration avec: