SlideShare une entreprise Scribd logo
1  sur  11
Plan
• Définition de Classe
• Les membres d’une classe
• Les constructeurs
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.
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 souscollection 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(); // ...
}
}
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.
Les membres d’une classe
1) Attribut
Un 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éthode
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 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és
a) Les fonctions de création
b) Les méthodes accesseurs/modificateurs
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é.
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.
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’encapsulation
Champs et méthodes statiques
Passage de paramètres dans les méthodes
Héritage
En collaboration avec:

Une production de:

Contenu connexe

Tendances

Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de javaAmir Souissi
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeAmir Souissi
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objetAmir Souissi
 
Héritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLIHéritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLIJihenHedhli1
 
Introduction java
Introduction javaIntroduction java
Introduction javaFouad Root
 
Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5Mamadou Oury Ba
 
Chap 03 poo en java partie2
Chap 03 poo en java partie2Chap 03 poo en java partie2
Chap 03 poo en java partie2Yassine Badri
 
Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]Yassine Badri
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generaleAmir Souissi
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donneesAmir Souissi
 
Programmation orientée objet avancée
Programmation orientée objet avancéeProgrammation orientée objet avancée
Programmation orientée objet avancéeMahfoud EL HOUDAIGUI
 

Tendances (19)

Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
 
JAVA Chapitre6
JAVA Chapitre6JAVA Chapitre6
JAVA Chapitre6
 
Héritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLIHéritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLI
 
Language java
Language javaLanguage java
Language java
 
Introduction java
Introduction javaIntroduction java
Introduction java
 
JAVA Chapitre8
JAVA Chapitre8JAVA Chapitre8
JAVA Chapitre8
 
Polymorphisme
PolymorphismePolymorphisme
Polymorphisme
 
POO
POOPOO
POO
 
Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5
 
Chap 03 poo en java partie2
Chap 03 poo en java partie2Chap 03 poo en java partie2
Chap 03 poo en java partie2
 
Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donnees
 
TD Java POO
TD Java POO TD Java POO
TD Java POO
 
Programmation orientée objet avancée
Programmation orientée objet avancéeProgrammation orientée objet avancée
Programmation orientée objet avancée
 
Les Classe en Java
Les Classe en JavaLes Classe en Java
Les Classe en Java
 
Threads
ThreadsThreads
Threads
 

En vedette

Favelasen JapóN
Favelasen JapóNFavelasen JapóN
Favelasen JapóNQSEJAETERNO
 
verde....rojo...amarilllo....y otras cositas...
verde....rojo...amarilllo....y otras cositas...verde....rojo...amarilllo....y otras cositas...
verde....rojo...amarilllo....y otras cositas...angielizeth
 
Riesgos De Internet
Riesgos De InternetRiesgos De Internet
Riesgos De Internetjuan
 
Guidence for student
Guidence for studentGuidence for student
Guidence for studentejw1346
 
Supprimer Download7410EndPoint.com
Supprimer Download7410EndPoint.comSupprimer Download7410EndPoint.com
Supprimer Download7410EndPoint.comnailneer
 
Méditations et réflexions ( n°05 ) les avatars du contact humain
Méditations et réflexions   ( n°05 ) les avatars du contact humainMéditations et réflexions   ( n°05 ) les avatars du contact humain
Méditations et réflexions ( n°05 ) les avatars du contact humainabdelmalek aghzaf
 
Résultats de l'enquête gardes et astreintes et propositions.
Résultats de l'enquête gardes et astreintes et propositions.Résultats de l'enquête gardes et astreintes et propositions.
Résultats de l'enquête gardes et astreintes et propositions.Réseau Pro Santé
 
Periodico escolar año 1984
Periodico escolar año 1984Periodico escolar año 1984
Periodico escolar año 1984mirella
 
Introduction Midis innovation 24 juin 2014
Introduction Midis innovation 24 juin 2014Introduction Midis innovation 24 juin 2014
Introduction Midis innovation 24 juin 2014Florence Hennart
 
Authentique Aid El Kabir
Authentique Aid El KabirAuthentique Aid El Kabir
Authentique Aid El Kabirfbi-be
 
Les enjeux du développement durable
Les enjeux du développement durableLes enjeux du développement durable
Les enjeux du développement durablemlaugel
 
Présentation équipe richard duvauchelle
Présentation équipe richard duvauchellePrésentation équipe richard duvauchelle
Présentation équipe richard duvauchellerichardduvauchelle2014
 

En vedette (20)

Base11
Base11Base11
Base11
 
Presentac
PresentacPresentac
Presentac
 
Favelasen JapóN
Favelasen JapóNFavelasen JapóN
Favelasen JapóN
 
verde....rojo...amarilllo....y otras cositas...
verde....rojo...amarilllo....y otras cositas...verde....rojo...amarilllo....y otras cositas...
verde....rojo...amarilllo....y otras cositas...
 
Riesgos De Internet
Riesgos De InternetRiesgos De Internet
Riesgos De Internet
 
Escouade web v3
Escouade web v3Escouade web v3
Escouade web v3
 
Guidence for student
Guidence for studentGuidence for student
Guidence for student
 
Supprimer Download7410EndPoint.com
Supprimer Download7410EndPoint.comSupprimer Download7410EndPoint.com
Supprimer Download7410EndPoint.com
 
La vida
La vidaLa vida
La vida
 
SSL y HB LED Mercados y Tendencias
SSL y HB LED Mercados y TendenciasSSL y HB LED Mercados y Tendencias
SSL y HB LED Mercados y Tendencias
 
Méditations et réflexions ( n°05 ) les avatars du contact humain
Méditations et réflexions   ( n°05 ) les avatars du contact humainMéditations et réflexions   ( n°05 ) les avatars du contact humain
Méditations et réflexions ( n°05 ) les avatars du contact humain
 
Résultats de l'enquête gardes et astreintes et propositions.
Résultats de l'enquête gardes et astreintes et propositions.Résultats de l'enquête gardes et astreintes et propositions.
Résultats de l'enquête gardes et astreintes et propositions.
 
Proyecto Terminado
Proyecto TerminadoProyecto Terminado
Proyecto Terminado
 
Periodico escolar año 1984
Periodico escolar año 1984Periodico escolar año 1984
Periodico escolar año 1984
 
Introduction Midis innovation 24 juin 2014
Introduction Midis innovation 24 juin 2014Introduction Midis innovation 24 juin 2014
Introduction Midis innovation 24 juin 2014
 
Authentique Aid El Kabir
Authentique Aid El KabirAuthentique Aid El Kabir
Authentique Aid El Kabir
 
Tema 7 2ª Parte
Tema 7   2ª ParteTema 7   2ª Parte
Tema 7 2ª Parte
 
Les enjeux du développement durable
Les enjeux du développement durableLes enjeux du développement durable
Les enjeux du développement durable
 
Sarah
SarahSarah
Sarah
 
Présentation équipe richard duvauchelle
Présentation équipe richard duvauchellePrésentation équipe richard duvauchelle
Présentation équipe richard duvauchelle
 

Similaire à Cours de JAVA de base

Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de ClasseabdoMarocco
 
Classes et Objets.pdf
Classes et Objets.pdfClasses et Objets.pdf
Classes et Objets.pdfAabidiHafid
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objetsAbdoulaye Dieng
 
JAVA-UIK-CHAP6-POO HERITAGE JAVA
JAVA-UIK-CHAP6-POO HERITAGE JAVAJAVA-UIK-CHAP6-POO HERITAGE JAVA
JAVA-UIK-CHAP6-POO HERITAGE JAVAAymen Bedwivski
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaAmel Morchdi
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciellauraty3204
 
Csharp2 : classes et objets
Csharp2 : classes et objetsCsharp2 : classes et objets
Csharp2 : classes et objetsAbdoulaye Dieng
 
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
 
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
 
POO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfPOO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfLarbaSAWADOGO2
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scalaSOAT
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1Yassine Badri
 
Introspection reflection
Introspection reflectionIntrospection reflection
Introspection reflectionEric Toguem
 
Langage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetLangage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetMohammed Jaafar
 

Similaire à Cours de JAVA de base (20)

XB-Java.ppt
XB-Java.pptXB-Java.ppt
XB-Java.ppt
 
Chapitre3 2013 POO
Chapitre3 2013 POOChapitre3 2013 POO
Chapitre3 2013 POO
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Java
JavaJava
Java
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de Classe
 
Classes et Objets.pdf
Classes et Objets.pdfClasses et Objets.pdf
Classes et Objets.pdf
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objets
 
JAVA-UIK-CHAP6-POO HERITAGE JAVA
JAVA-UIK-CHAP6-POO HERITAGE JAVAJAVA-UIK-CHAP6-POO HERITAGE JAVA
JAVA-UIK-CHAP6-POO HERITAGE JAVA
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel
 
Csharp2 : classes et objets
Csharp2 : classes et objetsCsharp2 : classes et objets
Csharp2 : classes et objets
 
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)
 
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
 
yasmine.pptx
yasmine.pptxyasmine.pptx
yasmine.pptx
 
POO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfPOO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdf
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scala
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1
 
Introspection reflection
Introspection reflectionIntrospection reflection
Introspection reflection
 
Langage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetLangage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté Objet
 

Plus de Wiki Info Systeme

Plus de Wiki Info Systeme (13)

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
 
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
 

Dernier

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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 

Dernier (18)

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
 
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
 
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
 
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
 
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
 
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...
 
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
 
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
 
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)
 
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
 
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
 
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
 
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...
 
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
 
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
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 

Cours de JAVA de base

  • 1.
  • 2. Plan • Définition de Classe • Les membres d’une classe • Les constructeurs
  • 3. 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.
  • 4. 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 souscollection 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(); // ... } }
  • 5. 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.
  • 6. Les membres d’une classe 1) Attribut Un 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éthode 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 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és a) Les fonctions de création b) Les méthodes accesseurs/modificateurs
  • 7. 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é.
  • 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; } 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.
  • 9. 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’encapsulation Champs et méthodes statiques Passage de paramètres dans les méthodes Héritage
  • 10.
  • 11. En collaboration avec: Une production de: