GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
Faite par Ahmed MAALEJ
Formation (2ème séance)
POO ET JAVA...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
Notion objet/classe
Instanciation
Méthodes
attributs
Classe
Objet
Objet
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
A...
Elements de base de Java
• Variables :
type variable1, variable2, variable3, …, variableN;
variable1=valeur1
où bien
type ...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
1. Rappel
2. Classes
abstraites
3. Interfaces
4. Exception...
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
Préparé par Ahmed MAALEJ
Merci pour votre attention !
Prochain SlideShare
Chargement dans…5
×

Formation POO & Java (2ème séance)

495 vues

Publié le

Exposé de la 2ème séance de formation en POO et JAVA
[Atelier Mobile]

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
495
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
19
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Formation POO & Java (2ème séance)

  1. 1. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile Faite par Ahmed MAALEJ Formation (2ème séance) POO ET JAVA Samedi 08/05/2015
  2. 2. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Langage JAVA • Langage open source (GNU GPL) • Basé essentiellement du langage C++ • Java est un langage purement orienté objet • Indépendant de la plateforme matérielle/logicielle • A la base de plusieurs autres langages: Python, Scala, C#, J#, Ada 2005, Groovy, Javascript, PHP, etc. • Utilisations: • Mobile: Java ME, Android • Desktop: JavaFX • Web: • Coté client: Applet • Coté Serveur: Architecture Java EE
  3. 3. Notion objet/classe Instanciation Méthodes attributs Classe Objet Objet GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ
  4. 4. Elements de base de Java • Variables : type variable1, variable2, variable3, …, variableN; variable1=valeur1 où bien type variable1=valeur1; … int a=2,b=3,c; String c; C="test"; Exemple: • Constantes : final type nomConst=valeurCst; final float PI=3,14F; Exemple: GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ
  5. 5. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Elements de base de Java (Suite) • Types: • Types primitifs: • Types référence: String / Tableaux / toute variable dont le type associé n’est pas un type primitif Type Taille mémoire Valeur par défaut boolean 1 bit false byte 1 octet (byte)0 char 2 octet ‘u0000’ ou null short 2 octet (short)0 int 4 octet 0 long 8 octet 0L ou 0l float 4 octet 0.0F ou 0.0f double 8 octet 0.0D ou 0.0d
  6. 6. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Elements de base de Java (Suite) • Types référence: String / Tableaux / toute variable dont le type associé n’est pas un type primitif String ch; ch="Hello"; System.out.println(ch); // Hello String ch2=ch+" World !"; // ch2 = concat(ch," World !"); char c=ch.charAt(0); // c=‘H’ int l=ch.size(); Int l2=ch.length(); if (l==l2) //true System.out.println("Ok!"); Exemple (String): Exemple (Tableaux): int [5] tab  int tab [5] Int tab[5]={1,2,3,4,5}; for (int i=0;i<5;i++) System.out.println(tab[i]); System.out.println(
  7. 7. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Elements de base de Java (Suite) • Transtypage: Byte  short  int  long  float  double char  int Implicite: Explicite: (type)expression; Exemple: double dd=5.0; float ff; ff=(float)dd;
  8. 8. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Programme 0 en Java public class HelloMain { public static void main (String [] args) { System.out.println("Hello World !"); } }
  9. 9. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Définition d’une classe Package exemple; public [abstract] class NomClasse extends NomClasseMère implements NomInterf1, NomInterf2 { // [liste des attributs] // [liste des méthodes] } [private/public/protected] [static] [final] type nomAttribut [=valeur]; *Par défaut: accessible par la classe elle-même et les autres classes du même paquetages. [private/public/protected] [abstract] [static] [final] void/type nomMethode ([paramètres]){…} *Par défaut: peut être invoquée par la classe elle-même et les autres classes du même paquetages.
  10. 10. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Package exemple; public class Personne { private int cin; private String nom; private String prenom; private int age; public void afficher () { System.out.println(cin+" "+nom+" "+prenom+" "+age); } } Définition d’une classe [Classe Personne]
  11. 11. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Constructeur • Constructeur par défaut • Constructeur avec paramètres • Constructeur par recopie Package exemple; public class Personne { … public Personne() { cin=0; nom=""; prenom=""; age=18; } public Personne(int c, String ch1, String ch2, int a) { cin=c; nom=ch1; prenom=ch2; age=a; } public Personne(Personne p2) { cin=p2.cin; nom=p2.nom; prenom=p2.prenom; age=p2.age; } }
  12. 12. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Déstrcuteur Protected void finalize() throws Throwable { super.finalize(); //code propre aux objets de cette classe }
  13. 13. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Getter/Setter public String getNom() {return nom;} public void setNom(String n){nom=n;} public int getCin(){return cin;} public void setCin(int c){cin=c;} Get: typeAttribut getNomAttribut() { return nomAttribut;} Set: void setNomAttribut(typeAttribut aux) {nomAttribut = aux;} Exemple:
  14. 14. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Les membres statiques Un membre est dit statique lorsqu’il est partagé par l’ensemble des instances de la classe à laquelle il appartient. • Attribut statique: doit être initialisé dès sa déclaration.. public class Personne { //Attributs private static int nbPersonnes = 0; //Constructeurs public Personne(){ cin=0; nom=""; prenom=""; age=18; nbPersonnes++; } public void afficherNb() { System.out.println("Nombre de personnes : "+nbPersonnes); } Protected void finalize() throws Throwable { super.finalize(); nbPersonnes--; }
  15. 15. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Les membres statiques (Suite) public class Personne { //Attributs private static int nbPersonnes = 0; //méthodes public static void afficherNb() { System.out.println("Nombre de personnes : "+nbPersonnes); } } • Methode statique: N’utilise que les méthodes et les attributs statiques de sa classe public class Main{ public static void main(String [] args) { Personne. p(5,"ch1", "ch2",3); p. afficherNb(); //ok Personne. afficherNb(); //ok } }
  16. 16. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Héritage et polymorphisme public class Etudiant extends Personne { private int num; public Etudiant() { super(); num=0; } public Etudiant(int c,String ch1,String ch2, int a, int nu) { super(c,ch1,ch2,a); num=nu; } public Etudiant(Etudiant e) { Syntaxe: super(e); num=e.num; } public void afficher () { super.afficher(); System.out.println(num); }
  17. 17. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Héritage et polymorphisme classeMère cm = new classeFille(); //ok classeFille cf = new classeMère (): //non  opérateur de Cast (ClasseFille)(new classeMère()) Personne p = new Etudiant(11009811,"Maalej", "Ahmed",22,1525); p.afficher(); // 11009811 Maalej Ahmed 22 ((Etudiant)p).afficher(); // 11009811 Maalej Ahmed 22 1525 Etudiant e = new Personne(); //Erreur Exemple: Instanceof: permet de contrôler le type d’un objet Exemple: if (p instanceof Etudiant) //true {((Etudiant)p).afficher(); }
  18. 18. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Diagramme de classes
  19. 19. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Classe Object public class Object { public Object() {...} // contructeur public String toString() {...} protected native Object clone() throws CloneNotSupportedException {...} public equals(java.lang.Object) {...} public native int hashCode() {...} protected void finalize() throws Throwable {...} public final native Class getClass() {...} // méthodes utilisées dans la gestion des threads public final native void notify() {...} public final native void notifyAll() {...} public final void wait(long) throws InterruptedException {...} public final void wait(long, int) throws InterruptedException {...} }
  20. 20. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Diagramme de classe (classe Object)
  21. 21. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Classes et méthodes abstraites • Méthode abstraite: méthode qui n’a pas de corps d’instructions (contrairement à concrète) public abstract type nomMéthode ([paramètres]); • Classe abstraite: Si une classe contient au moins une méthode abstraite doit être alors définie abstraite public abstract class NomClasse {  classe abstraite public abstract type nomMethode1([paramètres]);  méthode abstraite … }
  22. 22. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Classes et méthodes abstraites • Exemple: public abstract Personne { //attributs … //méthodes … public abstract void afficher(); } public Etudiant extends Personne{ //attributs … //méthodes … public void afficher() { System.out.println(…. } }Sinon: public abstract Etudiant extends Personne { //attributs … //méthodes … Public abstract void afficher(); }
  23. 23. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Interfaces Généralisation du concept de classe abstraite. L’interface définit en quelque sorte un contrat que certaines classes s’engagent à respecter… Les interfaces ne contiennent que : • Définition des constantes • Des prototypes des méthodes abstraites (sans préciser le terme abstraite : elles sont implicitement..) interface NomInterface { [listeConstantes;] [listeDéclarationsMéthodes;] } interface Visualisation{ void afficher2(); } public class Personne implements Visualisation { …… Public void afficher2() {System.out.println("….....");} } Exemple:
  24. 24. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Gestion des exceptions Une exception est une demande de traitement particulier qui peut arriver à n’importe quel moment d’un programme. Cette demande se traduit par un arrêt du programme, soit par l’exécution d’une action spéciale qui devra gérer l’exception. L’exemple le plus connu: Division par 0.. • Définition d’une exception Public class ErreurAge extends Exception { public ErreurAge (String msg) { super(msg); } } • Lever une exception public class Personne { public verifierAge() throws ErreurAge Throw new ErreurAge("Age incorrect"); }
  25. 25. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile 1. Rappel 2. Classes abstraites 3. Interfaces 4. Exceptions Préparé par Ahmed MAALEJ Gestion des exceptions (Suite) • Traitement d’une exception public class Main { Personne p(11009811, "Maalej", "Ahmed",22); try { p.verifierAge(); } catch (ErreurAge er) { System.err.println(err); }finally { p.setAge(18); } }
  26. 26. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile Préparé par Ahmed MAALEJ Merci pour votre attention !

×