SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Université Constantine 2
Dr. CHAOUCHE A.-C.
Faculté des nouvelles technologies
ahmed.chaouche@univ-constantine2.dz
– Cours 4 –
Chapitre 4 : Langage Java (2/2)
Programmation orienté objet
Développement d’applications mobiles
2018/2019. Semestre 1
Université Constantine 2
Etudiants concernés
Faculté/Institut Département Niveau Spécialité
2018/2019. Semestre 1
Dr. CHAOUCHE A.-C.
Faculté des nouvelles technologies
ahmed.chaouche@univ-constantine2.dz
Développement d’applications mobiles
Licence 3 Technologies de l’information (TI)Nouvelles technologies IFA
Licence 3 Science de l’informatique (SCI)Nouvelles technologies IFA
– Cours 4 –
Chapitre 4 : Langage Java (1/2)
Programmation orienté objet
Université Constantine 2 3
Prérequis
Maîtrise de l’algorithmique
Langage JAVA
Objectifs du cours
Utiliser la bibliothèque de Java SE
Etendre la classe Object
Manipuler les collections en Java
Résumé
© Dr. Chaouche A.-C.
Université Constantine 2 4
En Java, toutes les classes héritent de la classe Object
Méthodes de la classe Object
Classe Object en Java
© Dr. Chaouche A.-C.
String toString() // représente l’objet en String
boolean equals(Object obj) // compare deux objets
Object clone() // duplique l’objet
int hashCode() // calcule un code unique
void finalize() // sert au garbage collector
Class<?>getClass() // retourne le nom de la classe
void wait() //
void notify() // servent à la concurrence des threads
void notifyAll() //
Université Constantine 2 5
Classe Object en Java
© Dr. Chaouche A.-C.
Redéfinition de la méthode toString()
A obj1 = new A("a1", "a2", "a3", "a4");
System.out.println(obj1);
Université Constantine 2 6
Classe Object en Java
© Dr. Chaouche A.-C.
Redéfinition de la méthode toString()
A obj1 = new A("a1", "a2", "a3", "a4");
System.out.println(obj1); // -> example.com.A@659e0bfd
Université Constantine 2 7
Classe Object en Java
© Dr. Chaouche A.-C.
Redéfinition de la méthode toString()
A obj1 = new A("a1", "a2", "a3", "a4");
System.out.println(obj1); // -> example.com.A@659e0bfd
System.out.println(obj1); // -> (a1,a2,a3,a4)
public class A {
...
@Override
public String toString() {
return "(" + a1 + "," + a2 + "," + a3 + "," + a4
+ ")";
}
}
Université Constantine 2 8
Classe Object en Java
© Dr. Chaouche A.-C.
Redéfinition de la méthode equals()
A obj1 = new A("a1", "a2", "a3", "a4");
A obj2 = new A("a1", "a2", "a3", "a4");
obj1.equals(obj2);
Université Constantine 2 9
Classe Object en Java
© Dr. Chaouche A.-C.
Redéfinition de la méthode equals()
A obj1 = new A("a1", "a2", "a3", "a4");
A obj2 = new A("a1", "a2", "a3", "a4");
obj1.equals(obj2); // -> false
Université Constantine 2 10
Classe Object en Java
© Dr. Chaouche A.-C.
Redéfinition de la méthode equals()
A obj1 = new A("a1", "a2", "a3", "a4");
A obj2 = new A("a1", "a2", "a3", "a4");
obj1.equals(obj2); // -> false
obj1.equals(obj2); // -> true
public class A {
@Override
public boolean equals(Object o) {
A obj = (A) o;
return (a1.equals(obj.a1) && a2.equals(obj.a2)
&& a3.equals(obj.a3) && a4.equals(obj.a4));
}
}
Université Constantine 2 11
Classe Object en Java
© Dr. Chaouche A.-C.
Redéfinition de la méthode clone()
A obj1 = new A("a1", "a2", "a3", "a4");
A obj2 = obj1;
obj2.a1 = "b1";
System.out.println(obj1);
System.out.println(obj2);
Université Constantine 2 12
Classe Object en Java
© Dr. Chaouche A.-C.
Redéfinition de la méthode clone()
A obj1 = new A("a1", "a2", "a3", "a4");
A obj2 = obj1;
obj2.a1 = "b1";
System.out.println(obj1); // -> (b1,a2,a3,a4)
System.out.println(obj2); // -> (b1,a2,a3,a4)
Université Constantine 2 13
Classe Object en Java
© Dr. Chaouche A.-C.
Redéfinition de la méthode clone()
A obj1 = new A("a1", "a2", "a3", "a4");
A obj2 = obj1;
obj2.a1 = "b1";
System.out.println(obj1);
System.out.println(obj2);
A obj2 = obj1.clone();
obj2.a1 = "b1";
System.out.println(obj1); // -> (a1,a2,a3,a4)
System.out.println(obj2); // -> (b1,a2,a3,a4)
public class A {
@Override
public Object clone() {
return new A(a1, a2, a3, a4);
}
}
Université Constantine 2 14
Structure de données permettant de regrouper un ensemble d’objets
Peut être typée ou non typée
Types de collections :
Interface java.util.Set<T> :
Collection non ordonnée
Pas de doublons
Classes : HashSet<T>, TreeSet<T>
Interface java.util.List<T> :
Collection ordonnée/séquences
L’accès par indice
Autorisation des doublons
Classes : Vector<T>, ArrayList<T>, LinkedList<T>
Les collections en Java
© Dr. Chaouche A.-C.
Université Constantine 2 15
Type de collection qui associe une clé unique K à une valeur V
Chaque clé ne peut correspondre qu’à une valeur au plus
Interface java.util.Map<K,V>
Classes : HashMap<K,V>, TreeMap<K,V>
Les dictionnaires en Java
© Dr. Chaouche A.-C.
Université Constantine 2 16
Hiérarchie des collections
© Dr. Chaouche A.-C.
Université Constantine 2 17
Méthodes de la classe ArrayList<T> (1/2)
© Dr. Chaouche A.-C.
boolean add(T e)
void add(int index, T element)
boolean addAll(Collection<? extends T> c)
T remove(int index)
boolean remove(Object o)
boolean removeAll(Collection<?> c)
T get(int index)
T set(int index, T element)
int indexOf(Object o)
void clear()
boolean contains(Object o)
int size()
boolean isEmpty()
Université Constantine 2 18
Méthodes de la classe ArrayList<T> (2/2)
© Dr. Chaouche A.-C.
boolean addAll(int index, Collection<? extends T> c)
void removeRange(int fromIndex, int toIndex)
void ensureCapacity(int minCapacity)
int lastIndexOf(Object o)
Iterator<T> iterator()
ListIterator<T> listIterator()
boolean retainAll(Collection<?> c)
List<T> subList(int fromIndex, int toIndex)
Object[] toArray()
T[] toArray(T[] a)
void trimToSize()
...
Université Constantine 2 19
La classe Object :
http://blog.paumard.org/cours/java/chap03-object-string-object.html
Les collections :
https://www.jmdoudoux.fr/java/dej/chap-collections.htm#collections-3
Quelques liens utiles
© Dr. Chaouche A.-C.
Université Constantine 2 20
Oracle, «Javadoc - Class Object,» Lien :
https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html.
J. Paumard, «Java en ligne - Chapitre 3 : La classe Object,» 2016. Lien :
http://blog.paumard.org/cours/java/chap03-object-string-object.html.
Oracle, «Javadoc - Interface Collection<E>,» Lien :
https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html.
Oracle, «Javadoc - Interface Map<K,V>,» Lien :
https://docs.oracle.com/javase/7/docs/api/java/util/Map.html.
Oracle, «Javadoc - Class ArrayList<E>,» Lien :
https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html.
Nitin, «Java Interview Reference Guide – Collection Framework,» 18 Juillet 2014.
Lien : https://tutorials.techmytalk.com/2014/07/18/java-interview-reference-
guide-collection-framework/.
Références
© Dr. Chaouche A.-C.
Université Constantine 2 21
Chapitre 5 : Structure d’un projet
Objectifs :
Savoir organiser une application
Comprendre le cycle de vie d’une activité
Associer une vue à l’activité en gérant ses ressources (tailles des écrans
et internationalisation)
Prochain chapitre
© Dr. Chaouche A.-C.

Contenu connexe

Tendances

Applications Android - cours 8 : Gestion des évènements
Applications Android - cours 8 : Gestion des évènementsApplications Android - cours 8 : Gestion des évènements
Applications Android - cours 8 : Gestion des évènementsAhmed-Chawki Chaouche
 
Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Ahmed-Chawki Chaouche
 
Applications Android - Cours 2 : OS mobiles
Applications Android - Cours 2 : OS mobilesApplications Android - Cours 2 : OS mobiles
Applications Android - Cours 2 : OS mobilesAhmed-Chawki Chaouche
 
Applications Android - Cours 1 : Vers une informatique mobile et ambiante
Applications Android - Cours 1 : Vers une informatique mobile et ambianteApplications Android - Cours 1 : Vers une informatique mobile et ambiante
Applications Android - Cours 1 : Vers une informatique mobile et ambianteAhmed-Chawki Chaouche
 
Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)G²FOSS ENIT
 
In01 - Programmation Android - 03 - HMI
In01 - Programmation Android - 03 - HMIIn01 - Programmation Android - 03 - HMI
In01 - Programmation Android - 03 - HMIYann Caron
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++coursuniv
 
Cours de C++, en français, 2002 - Cours 3.5
Cours de C++, en français, 2002 - Cours 3.5Cours de C++, en français, 2002 - Cours 3.5
Cours de C++, en français, 2002 - Cours 3.5Laurent BUNIET
 
Trivial Java Second
Trivial Java SecondTrivial Java Second
Trivial Java SecondKatia Aresti
 
Td serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritageTd serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritageAmel Morchdi
 
L’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacketL’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacketStéphane Legrand
 
Programmation Android - 09 - Web services
Programmation Android - 09 - Web servicesProgrammation Android - 09 - Web services
Programmation Android - 09 - Web servicesYann Caron
 

Tendances (16)

Applications Android - cours 8 : Gestion des évènements
Applications Android - cours 8 : Gestion des évènementsApplications Android - cours 8 : Gestion des évènements
Applications Android - cours 8 : Gestion des évènements
 
Applications Android (Planning)
Applications Android (Planning)Applications Android (Planning)
Applications Android (Planning)
 
Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)
 
Applications Android - Cours 2 : OS mobiles
Applications Android - Cours 2 : OS mobilesApplications Android - Cours 2 : OS mobiles
Applications Android - Cours 2 : OS mobiles
 
Applications Android - Cours 1 : Vers une informatique mobile et ambiante
Applications Android - Cours 1 : Vers une informatique mobile et ambianteApplications Android - Cours 1 : Vers une informatique mobile et ambiante
Applications Android - Cours 1 : Vers une informatique mobile et ambiante
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)
 
In01 - Programmation Android - 03 - HMI
In01 - Programmation Android - 03 - HMIIn01 - Programmation Android - 03 - HMI
In01 - Programmation Android - 03 - HMI
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
 
Cours de C++, en français, 2002 - Cours 3.5
Cours de C++, en français, 2002 - Cours 3.5Cours de C++, en français, 2002 - Cours 3.5
Cours de C++, en français, 2002 - Cours 3.5
 
Trivial Java Second
Trivial Java SecondTrivial Java Second
Trivial Java Second
 
Td serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritageTd serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritage
 
L’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacketL’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacket
 
Programmation Android - 09 - Web services
Programmation Android - 09 - Web servicesProgrammation Android - 09 - Web services
Programmation Android - 09 - Web services
 
Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
 
Cours de Génie Logiciel / ESIEA 2013-2014
Cours de Génie Logiciel / ESIEA 2013-2014 Cours de Génie Logiciel / ESIEA 2013-2014
Cours de Génie Logiciel / ESIEA 2013-2014
 

Dernier

Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptxrababouerdighi
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 

Dernier (15)

Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 

Applications Android - cours 5 : Classe Object et Collections en Java

  • 1. Université Constantine 2 Dr. CHAOUCHE A.-C. Faculté des nouvelles technologies ahmed.chaouche@univ-constantine2.dz – Cours 4 – Chapitre 4 : Langage Java (2/2) Programmation orienté objet Développement d’applications mobiles 2018/2019. Semestre 1
  • 2. Université Constantine 2 Etudiants concernés Faculté/Institut Département Niveau Spécialité 2018/2019. Semestre 1 Dr. CHAOUCHE A.-C. Faculté des nouvelles technologies ahmed.chaouche@univ-constantine2.dz Développement d’applications mobiles Licence 3 Technologies de l’information (TI)Nouvelles technologies IFA Licence 3 Science de l’informatique (SCI)Nouvelles technologies IFA – Cours 4 – Chapitre 4 : Langage Java (1/2) Programmation orienté objet
  • 3. Université Constantine 2 3 Prérequis Maîtrise de l’algorithmique Langage JAVA Objectifs du cours Utiliser la bibliothèque de Java SE Etendre la classe Object Manipuler les collections en Java Résumé © Dr. Chaouche A.-C.
  • 4. Université Constantine 2 4 En Java, toutes les classes héritent de la classe Object Méthodes de la classe Object Classe Object en Java © Dr. Chaouche A.-C. String toString() // représente l’objet en String boolean equals(Object obj) // compare deux objets Object clone() // duplique l’objet int hashCode() // calcule un code unique void finalize() // sert au garbage collector Class<?>getClass() // retourne le nom de la classe void wait() // void notify() // servent à la concurrence des threads void notifyAll() //
  • 5. Université Constantine 2 5 Classe Object en Java © Dr. Chaouche A.-C. Redéfinition de la méthode toString() A obj1 = new A("a1", "a2", "a3", "a4"); System.out.println(obj1);
  • 6. Université Constantine 2 6 Classe Object en Java © Dr. Chaouche A.-C. Redéfinition de la méthode toString() A obj1 = new A("a1", "a2", "a3", "a4"); System.out.println(obj1); // -> example.com.A@659e0bfd
  • 7. Université Constantine 2 7 Classe Object en Java © Dr. Chaouche A.-C. Redéfinition de la méthode toString() A obj1 = new A("a1", "a2", "a3", "a4"); System.out.println(obj1); // -> example.com.A@659e0bfd System.out.println(obj1); // -> (a1,a2,a3,a4) public class A { ... @Override public String toString() { return "(" + a1 + "," + a2 + "," + a3 + "," + a4 + ")"; } }
  • 8. Université Constantine 2 8 Classe Object en Java © Dr. Chaouche A.-C. Redéfinition de la méthode equals() A obj1 = new A("a1", "a2", "a3", "a4"); A obj2 = new A("a1", "a2", "a3", "a4"); obj1.equals(obj2);
  • 9. Université Constantine 2 9 Classe Object en Java © Dr. Chaouche A.-C. Redéfinition de la méthode equals() A obj1 = new A("a1", "a2", "a3", "a4"); A obj2 = new A("a1", "a2", "a3", "a4"); obj1.equals(obj2); // -> false
  • 10. Université Constantine 2 10 Classe Object en Java © Dr. Chaouche A.-C. Redéfinition de la méthode equals() A obj1 = new A("a1", "a2", "a3", "a4"); A obj2 = new A("a1", "a2", "a3", "a4"); obj1.equals(obj2); // -> false obj1.equals(obj2); // -> true public class A { @Override public boolean equals(Object o) { A obj = (A) o; return (a1.equals(obj.a1) && a2.equals(obj.a2) && a3.equals(obj.a3) && a4.equals(obj.a4)); } }
  • 11. Université Constantine 2 11 Classe Object en Java © Dr. Chaouche A.-C. Redéfinition de la méthode clone() A obj1 = new A("a1", "a2", "a3", "a4"); A obj2 = obj1; obj2.a1 = "b1"; System.out.println(obj1); System.out.println(obj2);
  • 12. Université Constantine 2 12 Classe Object en Java © Dr. Chaouche A.-C. Redéfinition de la méthode clone() A obj1 = new A("a1", "a2", "a3", "a4"); A obj2 = obj1; obj2.a1 = "b1"; System.out.println(obj1); // -> (b1,a2,a3,a4) System.out.println(obj2); // -> (b1,a2,a3,a4)
  • 13. Université Constantine 2 13 Classe Object en Java © Dr. Chaouche A.-C. Redéfinition de la méthode clone() A obj1 = new A("a1", "a2", "a3", "a4"); A obj2 = obj1; obj2.a1 = "b1"; System.out.println(obj1); System.out.println(obj2); A obj2 = obj1.clone(); obj2.a1 = "b1"; System.out.println(obj1); // -> (a1,a2,a3,a4) System.out.println(obj2); // -> (b1,a2,a3,a4) public class A { @Override public Object clone() { return new A(a1, a2, a3, a4); } }
  • 14. Université Constantine 2 14 Structure de données permettant de regrouper un ensemble d’objets Peut être typée ou non typée Types de collections : Interface java.util.Set<T> : Collection non ordonnée Pas de doublons Classes : HashSet<T>, TreeSet<T> Interface java.util.List<T> : Collection ordonnée/séquences L’accès par indice Autorisation des doublons Classes : Vector<T>, ArrayList<T>, LinkedList<T> Les collections en Java © Dr. Chaouche A.-C.
  • 15. Université Constantine 2 15 Type de collection qui associe une clé unique K à une valeur V Chaque clé ne peut correspondre qu’à une valeur au plus Interface java.util.Map<K,V> Classes : HashMap<K,V>, TreeMap<K,V> Les dictionnaires en Java © Dr. Chaouche A.-C.
  • 16. Université Constantine 2 16 Hiérarchie des collections © Dr. Chaouche A.-C.
  • 17. Université Constantine 2 17 Méthodes de la classe ArrayList<T> (1/2) © Dr. Chaouche A.-C. boolean add(T e) void add(int index, T element) boolean addAll(Collection<? extends T> c) T remove(int index) boolean remove(Object o) boolean removeAll(Collection<?> c) T get(int index) T set(int index, T element) int indexOf(Object o) void clear() boolean contains(Object o) int size() boolean isEmpty()
  • 18. Université Constantine 2 18 Méthodes de la classe ArrayList<T> (2/2) © Dr. Chaouche A.-C. boolean addAll(int index, Collection<? extends T> c) void removeRange(int fromIndex, int toIndex) void ensureCapacity(int minCapacity) int lastIndexOf(Object o) Iterator<T> iterator() ListIterator<T> listIterator() boolean retainAll(Collection<?> c) List<T> subList(int fromIndex, int toIndex) Object[] toArray() T[] toArray(T[] a) void trimToSize() ...
  • 19. Université Constantine 2 19 La classe Object : http://blog.paumard.org/cours/java/chap03-object-string-object.html Les collections : https://www.jmdoudoux.fr/java/dej/chap-collections.htm#collections-3 Quelques liens utiles © Dr. Chaouche A.-C.
  • 20. Université Constantine 2 20 Oracle, «Javadoc - Class Object,» Lien : https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html. J. Paumard, «Java en ligne - Chapitre 3 : La classe Object,» 2016. Lien : http://blog.paumard.org/cours/java/chap03-object-string-object.html. Oracle, «Javadoc - Interface Collection<E>,» Lien : https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html. Oracle, «Javadoc - Interface Map<K,V>,» Lien : https://docs.oracle.com/javase/7/docs/api/java/util/Map.html. Oracle, «Javadoc - Class ArrayList<E>,» Lien : https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html. Nitin, «Java Interview Reference Guide – Collection Framework,» 18 Juillet 2014. Lien : https://tutorials.techmytalk.com/2014/07/18/java-interview-reference- guide-collection-framework/. Références © Dr. Chaouche A.-C.
  • 21. Université Constantine 2 21 Chapitre 5 : Structure d’un projet Objectifs : Savoir organiser une application Comprendre le cycle de vie d’une activité Associer une vue à l’activité en gérant ses ressources (tailles des écrans et internationalisation) Prochain chapitre © Dr. Chaouche A.-C.