SlideShare une entreprise Scribd logo
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
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
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
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
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
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(
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;
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 !");
}
}
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.
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]
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;
}
}
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
}
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:
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--;
}
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
}
}
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);
}
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(); }
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
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 {...}
}
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)
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
…
}
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();
}
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:
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");
}
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);
}
}
GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE
Atelier Mobile
Préparé par Ahmed MAALEJ
Merci pour votre attention !

Contenu connexe

Tendances

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 java
Introduction javaIntroduction java
Introduction java
Fouad Root
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
ENSET, Université Hassan II Casablanca
 
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec SpringSupport de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
ENSET, Université Hassan II Casablanca
 
Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - Ensim
Laurent Broudoux
 
Introduction àJava
Introduction àJavaIntroduction àJava
Introduction àJava
Christophe Vaudry
 
Les dessous du framework spring
Les dessous du framework springLes dessous du framework spring
Les dessous du framework spring
Antoine Rey
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
ENSET, Université Hassan II Casablanca
 
Spring Meetup Paris - Back to the basics of Spring (Boot)
Spring Meetup Paris - Back to the basics of Spring (Boot)Spring Meetup Paris - Back to the basics of Spring (Boot)
Spring Meetup Paris - Back to the basics of Spring (Boot)
Eric SIBER
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
Kalilou DIABY
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
Ines Ouaz
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
ENSET, Université Hassan II Casablanca
 
Programmation orienté aspect
Programmation orienté aspectProgrammation orienté aspect
Programmation orienté aspect
meriem sari
 
Ces outils qui vous font gagner du temps
Ces outils qui vous font gagner du tempsCes outils qui vous font gagner du temps
Ces outils qui vous font gagner du temps
Antoine Rey
 
Workshop Spring - Session 5 - Spring Integration
Workshop Spring - Session 5 - Spring IntegrationWorkshop Spring - Session 5 - Spring Integration
Workshop Spring - Session 5 - Spring Integration
Antoine Rey
 
Cours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweightCours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweight
ENSET, Université Hassan II Casablanca
 
J2EE vs .NET
J2EE vs .NETJ2EE vs .NET
J2EE vs .NET
Ghazouani Mahdi
 
Java 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchJava 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuch
Tarek Halloul
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
ENSET, Université Hassan II Casablanca
 
Présentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemePrésentation de JEE et de son écosysteme
Présentation de JEE et de son écosysteme
Stéphane Traumat
 

Tendances (20)

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 java
Introduction javaIntroduction java
Introduction java
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec SpringSupport de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
 
Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - Ensim
 
Introduction àJava
Introduction àJavaIntroduction àJava
Introduction àJava
 
Les dessous du framework spring
Les dessous du framework springLes dessous du framework spring
Les dessous du framework spring
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
Spring Meetup Paris - Back to the basics of Spring (Boot)
Spring Meetup Paris - Back to the basics of Spring (Boot)Spring Meetup Paris - Back to the basics of Spring (Boot)
Spring Meetup Paris - Back to the basics of Spring (Boot)
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Programmation orienté aspect
Programmation orienté aspectProgrammation orienté aspect
Programmation orienté aspect
 
Ces outils qui vous font gagner du temps
Ces outils qui vous font gagner du tempsCes outils qui vous font gagner du temps
Ces outils qui vous font gagner du temps
 
Workshop Spring - Session 5 - Spring Integration
Workshop Spring - Session 5 - Spring IntegrationWorkshop Spring - Session 5 - Spring Integration
Workshop Spring - Session 5 - Spring Integration
 
Cours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweightCours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweight
 
J2EE vs .NET
J2EE vs .NETJ2EE vs .NET
J2EE vs .NET
 
Java 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchJava 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuch
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Présentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemePrésentation de JEE et de son écosysteme
Présentation de JEE et de son écosysteme
 

En vedette

Formation BD & SQL
Formation BD & SQLFormation BD & SQL
Formation BD & SQL
G²FOSS ENIT
 
Présentation Conférence des TechTrends
Présentation Conférence des TechTrendsPrésentation Conférence des TechTrends
Présentation Conférence des TechTrends
Publicis Sapient Engineering
 
API et Mobile / Académies du Tourisme Numérique
API et Mobile / Académies du Tourisme NumériqueAPI et Mobile / Académies du Tourisme Numérique
API et Mobile / Académies du Tourisme Numérique
Alexandre Jubien
 
Java rappels e-s
Java rappels e-sJava rappels e-s
Java rappels e-s
omarsaid
 
Java - Exceptions
Java - ExceptionsJava - Exceptions
Java - Exceptions
Noël
 
Exceptions
ExceptionsExceptions
Exceptions
Axel KAMALAK
 
POO
POOPOO
API pour les nuls
API pour les nulsAPI pour les nuls
API pour les nuls
Patrick PINTO
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?
OVHcloud
 
Mobile CI
Mobile CIMobile CI
Mobile CI
Jerel Hass
 
Configuring asa site to-site vp ns
Configuring asa site to-site vp nsConfiguring asa site to-site vp ns
Configuring asa site to-site vp ns
chiensy
 
Øget produktivitet med Skype for Business og Office 365, Jakob Østergaard Nie...
Øget produktivitet med Skype for Business og Office 365, Jakob Østergaard Nie...Øget produktivitet med Skype for Business og Office 365, Jakob Østergaard Nie...
Øget produktivitet med Skype for Business og Office 365, Jakob Østergaard Nie...
Jakob Østergaard Nielsen
 
Desafíos en la enseñanza del Markerting
Desafíos en la enseñanza del MarkertingDesafíos en la enseñanza del Markerting
Desafíos en la enseñanza del Markerting
rperezllanes
 
Fq8 x000f0 astra led, dig y pantalla mini - Servicio Tecnico Fagor
Fq8 x000f0 astra led, dig y pantalla mini - Servicio Tecnico FagorFq8 x000f0 astra led, dig y pantalla mini - Servicio Tecnico Fagor
Fq8 x000f0 astra led, dig y pantalla mini - Servicio Tecnico Fagor
serviciotecnicofagor
 
Workshop Proceedings (Full Document)
Workshop Proceedings (Full Document)Workshop Proceedings (Full Document)
Workshop Proceedings (Full Document)
Nawsheen Hosenally
 
Verano deportivo 2016
Verano deportivo 2016Verano deportivo 2016
Verano deportivo 2016
José Antonio Guisado Rodríguez
 
Hosting Personalizado SMweb
Hosting Personalizado SMwebHosting Personalizado SMweb
Hosting Personalizado SMweb
SMweb.es
 
Water painting-techniques
Water painting-techniquesWater painting-techniques
Water painting-techniques
Emilia Lima
 
Seminario ISO 19600
Seminario ISO 19600Seminario ISO 19600
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1
Yassine Badri
 

En vedette (20)

Formation BD & SQL
Formation BD & SQLFormation BD & SQL
Formation BD & SQL
 
Présentation Conférence des TechTrends
Présentation Conférence des TechTrendsPrésentation Conférence des TechTrends
Présentation Conférence des TechTrends
 
API et Mobile / Académies du Tourisme Numérique
API et Mobile / Académies du Tourisme NumériqueAPI et Mobile / Académies du Tourisme Numérique
API et Mobile / Académies du Tourisme Numérique
 
Java rappels e-s
Java rappels e-sJava rappels e-s
Java rappels e-s
 
Java - Exceptions
Java - ExceptionsJava - Exceptions
Java - Exceptions
 
Exceptions
ExceptionsExceptions
Exceptions
 
POO
POOPOO
POO
 
API pour les nuls
API pour les nulsAPI pour les nuls
API pour les nuls
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?
 
Mobile CI
Mobile CIMobile CI
Mobile CI
 
Configuring asa site to-site vp ns
Configuring asa site to-site vp nsConfiguring asa site to-site vp ns
Configuring asa site to-site vp ns
 
Øget produktivitet med Skype for Business og Office 365, Jakob Østergaard Nie...
Øget produktivitet med Skype for Business og Office 365, Jakob Østergaard Nie...Øget produktivitet med Skype for Business og Office 365, Jakob Østergaard Nie...
Øget produktivitet med Skype for Business og Office 365, Jakob Østergaard Nie...
 
Desafíos en la enseñanza del Markerting
Desafíos en la enseñanza del MarkertingDesafíos en la enseñanza del Markerting
Desafíos en la enseñanza del Markerting
 
Fq8 x000f0 astra led, dig y pantalla mini - Servicio Tecnico Fagor
Fq8 x000f0 astra led, dig y pantalla mini - Servicio Tecnico FagorFq8 x000f0 astra led, dig y pantalla mini - Servicio Tecnico Fagor
Fq8 x000f0 astra led, dig y pantalla mini - Servicio Tecnico Fagor
 
Workshop Proceedings (Full Document)
Workshop Proceedings (Full Document)Workshop Proceedings (Full Document)
Workshop Proceedings (Full Document)
 
Verano deportivo 2016
Verano deportivo 2016Verano deportivo 2016
Verano deportivo 2016
 
Hosting Personalizado SMweb
Hosting Personalizado SMwebHosting Personalizado SMweb
Hosting Personalizado SMweb
 
Water painting-techniques
Water painting-techniquesWater painting-techniques
Water painting-techniques
 
Seminario ISO 19600
Seminario ISO 19600Seminario ISO 19600
Seminario ISO 19600
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1
 

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

POO - Chapitre6.pptx
POO - Chapitre6.pptxPOO - Chapitre6.pptx
POO - Chapitre6.pptx
RAYENBOUAFIF1
 
Patterns and OOP in PHP
Patterns and OOP in PHPPatterns and OOP in PHP
Patterns and OOP in PHPjulien pauli
 
Comment écrire du code testable ?
Comment écrire du code testable ?Comment écrire du code testable ?
Comment écrire du code testable ?
Fou Cha
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
Aziz Darouichi
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulation
ECAM Brussels Engineering School
 
Patterns et bonnes pratiques autour de JavaScript
Patterns et bonnes pratiques autour de JavaScriptPatterns et bonnes pratiques autour de JavaScript
Patterns et bonnes pratiques autour de JavaScript
Microsoft Technet France
 
De java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvementsDe java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvements
Didier Plaindoux
 
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Loic Yon
 
Function oop - bonnes pratiques ms tech days
Function   oop - bonnes pratiques ms tech daysFunction   oop - bonnes pratiques ms tech days
Function oop - bonnes pratiques ms tech daysJean-Pierre Vincent
 
Partie1 TypeScript
Partie1 TypeScriptPartie1 TypeScript
Partie1 TypeScript
Habib Ayad
 
Chap 2--POO avec JAVA.pdf
Chap 2--POO avec JAVA.pdfChap 2--POO avec JAVA.pdf
Chap 2--POO avec JAVA.pdf
ramadanmahdi
 
Tester unitairement une application java
Tester unitairement une application javaTester unitairement une application java
Tester unitairement une application java
Antoine Rey
 
POO-JAVA-partie-1.pdf
POO-JAVA-partie-1.pdfPOO-JAVA-partie-1.pdf
POO-JAVA-partie-1.pdf
YasushiTsubakik
 
Android Optimisations Greendroid
Android Optimisations GreendroidAndroid Optimisations Greendroid
Android Optimisations GreendroidGDG Nantes
 
System c eniso_jan_fev_07
System c eniso_jan_fev_07System c eniso_jan_fev_07
System c eniso_jan_fev_07
haythem_2015
 
Go
GoGo
C# et .NET : Enigmes et puzzles
C# et .NET : Enigmes  et puzzlesC# et .NET : Enigmes  et puzzles
C# et .NET : Enigmes et puzzles
Microsoft
 
Cours de Génie Logiciel / ESIEA 2016-17
Cours de Génie Logiciel / ESIEA 2016-17Cours de Génie Logiciel / ESIEA 2016-17
Cours de Génie Logiciel / ESIEA 2016-17
Thierry Leriche-Dessirier
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
Microsoft
 

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

POO - Chapitre6.pptx
POO - Chapitre6.pptxPOO - Chapitre6.pptx
POO - Chapitre6.pptx
 
Patterns and OOP in PHP
Patterns and OOP in PHPPatterns and OOP in PHP
Patterns and OOP in PHP
 
Comment écrire du code testable ?
Comment écrire du code testable ?Comment écrire du code testable ?
Comment écrire du code testable ?
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulation
 
Part1
Part1Part1
Part1
 
Patterns et bonnes pratiques autour de JavaScript
Patterns et bonnes pratiques autour de JavaScriptPatterns et bonnes pratiques autour de JavaScript
Patterns et bonnes pratiques autour de JavaScript
 
De java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvementsDe java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvements
 
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
 
Function oop - bonnes pratiques ms tech days
Function   oop - bonnes pratiques ms tech daysFunction   oop - bonnes pratiques ms tech days
Function oop - bonnes pratiques ms tech days
 
Partie1 TypeScript
Partie1 TypeScriptPartie1 TypeScript
Partie1 TypeScript
 
Chap 2--POO avec JAVA.pdf
Chap 2--POO avec JAVA.pdfChap 2--POO avec JAVA.pdf
Chap 2--POO avec JAVA.pdf
 
Tester unitairement une application java
Tester unitairement une application javaTester unitairement une application java
Tester unitairement une application java
 
POO-JAVA-partie-1.pdf
POO-JAVA-partie-1.pdfPOO-JAVA-partie-1.pdf
POO-JAVA-partie-1.pdf
 
Android Optimisations Greendroid
Android Optimisations GreendroidAndroid Optimisations Greendroid
Android Optimisations Greendroid
 
System c eniso_jan_fev_07
System c eniso_jan_fev_07System c eniso_jan_fev_07
System c eniso_jan_fev_07
 
Go
GoGo
Go
 
C# et .NET : Enigmes et puzzles
C# et .NET : Enigmes  et puzzlesC# et .NET : Enigmes  et puzzles
C# et .NET : Enigmes et puzzles
 
Cours de Génie Logiciel / ESIEA 2016-17
Cours de Génie Logiciel / ESIEA 2016-17Cours de Génie Logiciel / ESIEA 2016-17
Cours de Génie Logiciel / ESIEA 2016-17
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 

Dernier

Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
Horgix
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 

Dernier (6)

Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 

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

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. GENERAL AND GEOGRAPHIC FREE OPEN SOURCE SOFTWARE Atelier Mobile Préparé par Ahmed MAALEJ Merci pour votre attention !