SlideShare una empresa de Scribd logo
1 de 26
Les Classes en Java
Préparé par ING. David JOSEPH
System.out.println(‘’Hello World’’);
Plan
 Introduction
 Les Constructeurs
 Instancier une classe
 Les méthodes
 Les attributs
 Exemples de Classes
 Examen d’ évaluation
 TP
Introduction
• 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
}
Introduction
• 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.
Introduction
• 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").
Introduction
• 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(); // ...
}
}
Introduction
• 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(); // ...
}
}
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;
}
Les Constructeurs
• 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.
Exemple
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.
Instancier 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.
Les méthodes: Introduction
• Le 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 public, private,
protected. 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és
a) Les fonctions de création
b) Les méthodes accesseurs/modificateurs
Les méthodes
a) Les fonctions de création
Ces fonctions qui permettent de créer des objets seront étudiées un
peu plus loin.
b) 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)
Les méthodes
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é.
Les méthodes: allocation
•Rien: Méthode d’objet ou d’instance. La méthode
est liée a un objet.
•Static: Méthode de classe: méthode indépendante
de tout objet. Ne peut accéder qu’a des attributs ou
des méthodes statiques.
Les méthodes: Type de retour
•Rien: C’est un constructeur
•Void: La fonction en retourne aucune valeur
(procédure).
•<type primitif>: Donnée de type valeur.
•<classe>: Nom de la classe de la référence de l’objet
retourné.
Les méthodes: static ou non static
• Une méthode static ou méthode de classe est peut être
utilisée sans instancier d’objet. Exemple : double
racinedeDeux=Math.sqrt(2);
• Une méthode est rendue static pour les raisons
suivantes:
1) Méthode utilitaire dans une classe type metier (exemple
Math.sqrt);
2) Méthode ne devant être liée a aucun objet (exemple :
main);
3) Pour se rapprocher des conventions d’ecriture.
Les attributs
•Les attributs peuvent être des:
1) constants;
2) Variables
3) Des références d’objets
Les attributs: Portée
• Rien: portée limitée au package;
• Public: portée générale;
• Private: portée limitée aux méthodes de la classe;
• Protected: portée limitée aux méthodes de la classe et
aux méthodes situées dans des classes derivées.
Les attributs: Durée de vie
•Rien: attribute d’objet ou d’instance. Durée de vie
égale a celle de l’objet.
•Static: attribut de classe: durée de vie égale a celle
du programme. Un attribut statique n’est lié a aucun
objet.
Les attributs: Type
•Un primitive parmi: booléan, char, int, float, double,
etc..
•Une classe connue: String, etc…
Attribut ou variables locales?
•On utilise un attribut pour:
1) Partager des données ou des objets entre
plusieurs methodes.
2) Avoir une durée de vie supérieur a celle d’une
méthode
•Dans tous autre cas, il faut utiliser des variables
locales aux méthodes.
Attributs static ou non static?
•Un attribut n’est que rarement static. Un attribut est
rendu static pour les raisons suivantes:
1. Les methodes static ne peuvent acceder qu’au
attributs static
2. On doit partager le meme attribute entre plusieurs
objets
3. On veut disposer d’une donnée indépendante de tout
objet.
Exemple de classe
Exemple de classe
TP
• Développer une classe permettant de résoudre des équations de
seconde degré; la classe doit être en mesure d’afficher les
solutions s’il en existe (S1 et S2), la valeur de delta (d)
• Travail a faire:
1. Identifier tous les attributs (portée, type, valeur initiale) et variables
locales nécessaires;
2. Ecrire le ou les constructeur(s);
3. Les méthodes
4. Les procédures
5. Une méthode qui affiche par exemple « Les solutions de l’ équation 2x^2
+3x-6 : sont S1= et S2= »;
4 points par bonne réponse
Préparée par:
ING. David Joseph
Date présentation:
20/06/2014
Email:
ingjosephdavid@gmail.com

Más contenido relacionado

La actualidad más candente

Csharp3 heritage-polymorphisme-interface
Csharp3 heritage-polymorphisme-interfaceCsharp3 heritage-polymorphisme-interface
Csharp3 heritage-polymorphisme-interfaceAbdoulaye Dieng
 
Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011yassine kchiri
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
Cours java avance avancé thread arraylist
Cours java avance avancé thread arraylistCours java avance avancé thread arraylist
Cours java avance avancé thread arraylistHoussem Hamrouni
 
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...Hamza SAID
 

La actualidad más candente (8)

Csharp3 heritage-polymorphisme-interface
Csharp3 heritage-polymorphisme-interfaceCsharp3 heritage-polymorphisme-interface
Csharp3 heritage-polymorphisme-interface
 
Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Cours java
Cours javaCours java
Cours java
 
Jpa(1)
Jpa(1)Jpa(1)
Jpa(1)
 
Threads
ThreadsThreads
Threads
 
Cours java avance avancé thread arraylist
Cours java avance avancé thread arraylistCours java avance avancé thread arraylist
Cours java avance avancé thread arraylist
 
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
 

Destacado

Gacetilla Municipal 08 De Octubre
Gacetilla Municipal 08 De OctubreGacetilla Municipal 08 De Octubre
Gacetilla Municipal 08 De Octubregueste2d0ba9
 
Comprendre l'importance d'Instagram pour améliorer l'image de son Business
Comprendre l'importance d'Instagram pour améliorer l'image de son BusinessComprendre l'importance d'Instagram pour améliorer l'image de son Business
Comprendre l'importance d'Instagram pour améliorer l'image de son BusinessAnouck Atlan
 
Angers Auto-Moto numero 5 - Printemps 2014
Angers Auto-Moto numero 5 - Printemps 2014Angers Auto-Moto numero 5 - Printemps 2014
Angers Auto-Moto numero 5 - Printemps 2014nantes-auto-moto
 
Présentation diplômes du champ de l'animation
Présentation diplômes du champ de l'animationPrésentation diplômes du champ de l'animation
Présentation diplômes du champ de l'animationsamanthanguyenseranot
 
S E A S C R E Y E N T E O N O L E E E S T E M E N S A J E
S E A S  C R E Y E N T E  O  N O  L E E  E S T E  M E N S A J ES E A S  C R E Y E N T E  O  N O  L E E  E S T E  M E N S A J E
S E A S C R E Y E N T E O N O L E E E S T E M E N S A J Ekal20
 
Diapositiva De Informatico L U I T A L A V E R A
Diapositiva De Informatico  L U I  T A L A V E R ADiapositiva De Informatico  L U I  T A L A V E R A
Diapositiva De Informatico L U I T A L A V E R Aditntalavera
 
Introduction à Microsoft Dynamics CRM
Introduction à Microsoft Dynamics CRMIntroduction à Microsoft Dynamics CRM
Introduction à Microsoft Dynamics CRMSandrine Zecler
 
Adjectifs 120131091936-phpapp02
Adjectifs 120131091936-phpapp02Adjectifs 120131091936-phpapp02
Adjectifs 120131091936-phpapp02Mohamed Haj Ali
 
Totalitarismos y guerras mundiales sintesis
Totalitarismos y guerras mundiales sintesisTotalitarismos y guerras mundiales sintesis
Totalitarismos y guerras mundiales sintesisJose Avendaño
 
Travailler dans la fonction publique d’etat
Travailler dans la fonction publique d’etatTravailler dans la fonction publique d’etat
Travailler dans la fonction publique d’etatsamanthanguyenseranot
 
Mon espace proche
Mon espace procheMon espace proche
Mon espace prochemlaugel
 
Practica 1
Practica 1Practica 1
Practica 1Yoli
 
1. Del yo al nosotros
1. Del yo al nosotros1. Del yo al nosotros
1. Del yo al nosotroscherepaja
 
2014sessionPara 5
2014sessionPara 52014sessionPara 5
2014sessionPara 5acvq
 
Los mapuches
Los mapuchesLos mapuches
Los mapuchesjmaulen
 
4 bh.l.g anabel sanchez
4 bh.l.g anabel sanchez4 bh.l.g anabel sanchez
4 bh.l.g anabel sanchezjacard
 

Destacado (20)

Gacetilla Municipal 08 De Octubre
Gacetilla Municipal 08 De OctubreGacetilla Municipal 08 De Octubre
Gacetilla Municipal 08 De Octubre
 
Comprendre l'importance d'Instagram pour améliorer l'image de son Business
Comprendre l'importance d'Instagram pour améliorer l'image de son BusinessComprendre l'importance d'Instagram pour améliorer l'image de son Business
Comprendre l'importance d'Instagram pour améliorer l'image de son Business
 
Angers Auto-Moto numero 5 - Printemps 2014
Angers Auto-Moto numero 5 - Printemps 2014Angers Auto-Moto numero 5 - Printemps 2014
Angers Auto-Moto numero 5 - Printemps 2014
 
Présentation diplômes du champ de l'animation
Présentation diplômes du champ de l'animationPrésentation diplômes du champ de l'animation
Présentation diplômes du champ de l'animation
 
S E A S C R E Y E N T E O N O L E E E S T E M E N S A J E
S E A S  C R E Y E N T E  O  N O  L E E  E S T E  M E N S A J ES E A S  C R E Y E N T E  O  N O  L E E  E S T E  M E N S A J E
S E A S C R E Y E N T E O N O L E E E S T E M E N S A J E
 
Diapositiva De Informatico L U I T A L A V E R A
Diapositiva De Informatico  L U I  T A L A V E R ADiapositiva De Informatico  L U I  T A L A V E R A
Diapositiva De Informatico L U I T A L A V E R A
 
Introduction à Microsoft Dynamics CRM
Introduction à Microsoft Dynamics CRMIntroduction à Microsoft Dynamics CRM
Introduction à Microsoft Dynamics CRM
 
CóMo Surgió El Email
CóMo Surgió El EmailCóMo Surgió El Email
CóMo Surgió El Email
 
Adjectifs 120131091936-phpapp02
Adjectifs 120131091936-phpapp02Adjectifs 120131091936-phpapp02
Adjectifs 120131091936-phpapp02
 
Totalitarismos y guerras mundiales sintesis
Totalitarismos y guerras mundiales sintesisTotalitarismos y guerras mundiales sintesis
Totalitarismos y guerras mundiales sintesis
 
Saint eustache
Saint eustacheSaint eustache
Saint eustache
 
Travailler dans la fonction publique d’etat
Travailler dans la fonction publique d’etatTravailler dans la fonction publique d’etat
Travailler dans la fonction publique d’etat
 
Mon espace proche
Mon espace procheMon espace proche
Mon espace proche
 
Presentación1
Presentación1Presentación1
Presentación1
 
Practica 1
Practica 1Practica 1
Practica 1
 
1. Del yo al nosotros
1. Del yo al nosotros1. Del yo al nosotros
1. Del yo al nosotros
 
2014sessionPara 5
2014sessionPara 52014sessionPara 5
2014sessionPara 5
 
Le corps d'un enfant
Le corps d'un enfantLe corps d'un enfant
Le corps d'un enfant
 
Los mapuches
Los mapuchesLos mapuches
Los mapuches
 
4 bh.l.g anabel sanchez
4 bh.l.g anabel sanchez4 bh.l.g anabel sanchez
4 bh.l.g anabel sanchez
 

Similar a Les Classe en Java

Csharp2 : classes et objets
Csharp2 : classes et objetsCsharp2 : classes et objets
Csharp2 : classes et objetsAbdoulaye Dieng
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objetsAbdoulaye Dieng
 
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
fdocuments.fr_chap-03-poo-en-java-partie1.pptxfdocuments.fr_chap-03-poo-en-java-partie1.pptx
fdocuments.fr_chap-03-poo-en-java-partie1.pptxTarikElMahtouchi1
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objetAmir Souissi
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 
Langage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetLangage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetMohammed Jaafar
 
Classes et Objets.pdf
Classes et Objets.pdfClasses et Objets.pdf
Classes et Objets.pdfAabidiHafid
 
c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)Mahfoud EL HOUDAIGUI
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriMansouri Khalifa
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciellauraty3204
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scalaSOAT
 
POO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfPOO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfLarbaSAWADOGO2
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de ClasseabdoMarocco
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generaleAmir Souissi
 
Les collections et les génerics enit dotnet
Les collections et les génerics enit dotnetLes collections et les génerics enit dotnet
Les collections et les génerics enit dotnetMohamed Ouederni
 

Similar a Les Classe en Java (20)

XB-Java.ppt
XB-Java.pptXB-Java.ppt
XB-Java.ppt
 
Csharp2 : classes et objets
Csharp2 : classes et objetsCsharp2 : classes et objets
Csharp2 : classes et objets
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objets
 
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
fdocuments.fr_chap-03-poo-en-java-partie1.pptxfdocuments.fr_chap-03-poo-en-java-partie1.pptx
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Cours_Java.pdf
Cours_Java.pdfCours_Java.pdf
Cours_Java.pdf
 
Langage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetLangage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté Objet
 
Classes et Objets.pdf
Classes et Objets.pdfClasses et Objets.pdf
Classes et Objets.pdf
 
Chapitre3 2013 POO
Chapitre3 2013 POOChapitre3 2013 POO
Chapitre3 2013 POO
 
c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)
 
Java
JavaJava
Java
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scala
 
POO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfPOO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdf
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de Classe
 
POO-Cours.pdf
POO-Cours.pdfPOO-Cours.pdf
POO-Cours.pdf
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
 
Les collections et les génerics enit dotnet
Les collections et les génerics enit dotnetLes collections et les génerics enit dotnet
Les collections et les génerics enit dotnet
 

Más de Wiki Info Systeme

Más de Wiki Info Systeme (14)

Introduction à l’infographie
Introduction à l’infographieIntroduction à l’infographie
Introduction à l’infographie
 
Comment gerer votre identite numerique
Comment gerer votre identite numeriqueComment gerer votre identite numerique
Comment gerer votre identite numerique
 
Présentation du thème
Présentation du thèmePrésentation du thème
Présentation du thème
 
Identité numérique
Identité numériqueIdentité numérique
Identité numérique
 
My droid
My droidMy droid
My droid
 
Les Widgets
Les WidgetsLes Widgets
Les Widgets
 
Hello droid
Hello droidHello droid
Hello droid
 
E learning
E learningE learning
E learning
 
Les tableaux en Java
Les tableaux en JavaLes tableaux en Java
Les tableaux en Java
 
Introduction a Java
Introduction a JavaIntroduction a Java
Introduction a Java
 
Premier manuel d'informatique
Premier manuel d'informatiquePremier manuel d'informatique
Premier manuel d'informatique
 
Cahier d'exercices-Dactylographie
Cahier d'exercices-DactylographieCahier d'exercices-Dactylographie
Cahier d'exercices-Dactylographie
 
Exercice sur les classes en Java
Exercice sur les classes en JavaExercice sur les classes en Java
Exercice sur les classes en Java
 
Crystal Report avec Microsoft Visual Studio 2010
Crystal Report avec Microsoft Visual Studio 2010Crystal Report avec Microsoft Visual Studio 2010
Crystal Report avec Microsoft Visual Studio 2010
 

Último

Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 

Último (18)

Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 

Les Classe en Java

  • 1. Les Classes en Java Préparé par ING. David JOSEPH
  • 2. System.out.println(‘’Hello World’’); Plan  Introduction  Les Constructeurs  Instancier une classe  Les méthodes  Les attributs  Exemples de Classes  Examen d’ évaluation  TP
  • 3. Introduction • 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 }
  • 4. Introduction • 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.
  • 5. Introduction • 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").
  • 6. Introduction • 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(); // ... } }
  • 7. Introduction • 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(); // ... } }
  • 8. 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; }
  • 9. Les Constructeurs • 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. Exemple 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.
  • 10. Instancier 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.
  • 11. Les méthodes: Introduction • Le 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 public, private, protected. 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és a) Les fonctions de création b) Les méthodes accesseurs/modificateurs
  • 12. Les méthodes a) Les fonctions de création Ces fonctions qui permettent de créer des objets seront étudiées un peu plus loin. b) 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)
  • 13. Les méthodes 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é.
  • 14. Les méthodes: allocation •Rien: Méthode d’objet ou d’instance. La méthode est liée a un objet. •Static: Méthode de classe: méthode indépendante de tout objet. Ne peut accéder qu’a des attributs ou des méthodes statiques.
  • 15. Les méthodes: Type de retour •Rien: C’est un constructeur •Void: La fonction en retourne aucune valeur (procédure). •<type primitif>: Donnée de type valeur. •<classe>: Nom de la classe de la référence de l’objet retourné.
  • 16. Les méthodes: static ou non static • Une méthode static ou méthode de classe est peut être utilisée sans instancier d’objet. Exemple : double racinedeDeux=Math.sqrt(2); • Une méthode est rendue static pour les raisons suivantes: 1) Méthode utilitaire dans une classe type metier (exemple Math.sqrt); 2) Méthode ne devant être liée a aucun objet (exemple : main); 3) Pour se rapprocher des conventions d’ecriture.
  • 17. Les attributs •Les attributs peuvent être des: 1) constants; 2) Variables 3) Des références d’objets
  • 18. Les attributs: Portée • Rien: portée limitée au package; • Public: portée générale; • Private: portée limitée aux méthodes de la classe; • Protected: portée limitée aux méthodes de la classe et aux méthodes situées dans des classes derivées.
  • 19. Les attributs: Durée de vie •Rien: attribute d’objet ou d’instance. Durée de vie égale a celle de l’objet. •Static: attribut de classe: durée de vie égale a celle du programme. Un attribut statique n’est lié a aucun objet.
  • 20. Les attributs: Type •Un primitive parmi: booléan, char, int, float, double, etc.. •Une classe connue: String, etc…
  • 21. Attribut ou variables locales? •On utilise un attribut pour: 1) Partager des données ou des objets entre plusieurs methodes. 2) Avoir une durée de vie supérieur a celle d’une méthode •Dans tous autre cas, il faut utiliser des variables locales aux méthodes.
  • 22. Attributs static ou non static? •Un attribut n’est que rarement static. Un attribut est rendu static pour les raisons suivantes: 1. Les methodes static ne peuvent acceder qu’au attributs static 2. On doit partager le meme attribute entre plusieurs objets 3. On veut disposer d’une donnée indépendante de tout objet.
  • 25. TP • Développer une classe permettant de résoudre des équations de seconde degré; la classe doit être en mesure d’afficher les solutions s’il en existe (S1 et S2), la valeur de delta (d) • Travail a faire: 1. Identifier tous les attributs (portée, type, valeur initiale) et variables locales nécessaires; 2. Ecrire le ou les constructeur(s); 3. Les méthodes 4. Les procédures 5. Une méthode qui affiche par exemple « Les solutions de l’ équation 2x^2 +3x-6 : sont S1= et S2= »; 4 points par bonne réponse
  • 26. Préparée par: ING. David Joseph Date présentation: 20/06/2014 Email: ingjosephdavid@gmail.com