SlideShare une entreprise Scribd logo
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

PDF
Applications Android - cours 6 : Structure d’un projet Android
PDF
Applications Android - cours 4 : Langage Java
PDF
Applications Android - cours 9 : Intents et transfert des données
PDF
Applications Android - cours 10 : Vues à adaptateur
PDF
Applications Android - cours 13 : Connectivité et services Web
PDF
Applications Android - cours 12 : Persistance de données SQLite
PDF
Applications Android - cours 7 : Ressources et adaptation au matériel
PDF
Applications Android - cours 11 : Boites de dialogue
Applications Android - cours 6 : Structure d’un projet Android
Applications Android - cours 4 : Langage Java
Applications Android - cours 9 : Intents et transfert des données
Applications Android - cours 10 : Vues à adaptateur
Applications Android - cours 13 : Connectivité et services Web
Applications Android - cours 12 : Persistance de données SQLite
Applications Android - cours 7 : Ressources et adaptation au matériel
Applications Android - cours 11 : Boites de dialogue

Tendances (16)

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

Similaire à Applications Android - cours 5 : Classe Object et Collections en Java (20)

PDF
7_Chapitre6_Les collections.pdf
PPTX
Marzouk collection-map
PDF
Héritage et Polymorphisme .pdf
PDF
Memojava 100604104941-phpapp02
PDF
Memo java
PDF
Classes et Objets.pdf
PDF
5- understandinggJava_Collections_v4.pdf
PPTX
Chap2: lescollections
PDF
Correction Examen 2016-2017 POO .pdf
PDF
coursJavaOopmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.pdf
PDF
Note de cours de programmation avancée Université protestante de Lubumbashi P...
PDF
Qc mcorrige
PPTX
Stockage des objets
PDF
Chap 03 poo en java partie1
PPTX
Deuxième partie.pptx
PDF
Chapitre8: Collections et Enumerations En Java
PPTX
Language java
PDF
Note de cours de programmation avancée Université protestante de Lubumbashi P...
PPT
Java uik-chap4-poo3
PDF
Chapitre 3 elements de base de java
7_Chapitre6_Les collections.pdf
Marzouk collection-map
Héritage et Polymorphisme .pdf
Memojava 100604104941-phpapp02
Memo java
Classes et Objets.pdf
5- understandinggJava_Collections_v4.pdf
Chap2: lescollections
Correction Examen 2016-2017 POO .pdf
coursJavaOopmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.pdf
Note de cours de programmation avancée Université protestante de Lubumbashi P...
Qc mcorrige
Stockage des objets
Chap 03 poo en java partie1
Deuxième partie.pptx
Chapitre8: Collections et Enumerations En Java
Language java
Note de cours de programmation avancée Université protestante de Lubumbashi P...
Java uik-chap4-poo3
Chapitre 3 elements de base de java
Publicité

Dernier (20)

PPT
étude----- droit------ 2005---------.ppt
PPT
le-subjonctif-présent, Grammaire, français
PPTX
risque environnema et mesure protect.pptx
PPT
calcul---électrique--et--chutes de tension.ppt
PPTX
Hopital bonne sante.pptxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PPTX
Bienvenido slides about the first steps in spanish.pptx
PPTX
Séminaire protection des personnes vulnérables.pptx
DOCX
ENDODONTIE CONSERVATRICE.docx faculté de médecine dentaire
PPTX
Présentation Projet Entreprise Minimaliste Moderne Sobre Blanc Noir.pptx
PPTX
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PPT
مبادئ و هدف الحركة الكشفية عرض تقديمي.ppt
PDF
Consignes générales sécurité et environnement.pdf
PDF
🎓 Le Secret des Profs Captivants - 💡 2. Hygiène vocale et santé professionnel...
PDF
585-developpement-d-une-application-avec-python-fr-en-business.pdf
PPTX
Présentation Personal Branding J2025.pptx_20250218_132749_0000.pptx_20250610_...
PPTX
le subjonctif présent, Conjugaison français
PDF
Articles definis et indefinis. Comment les différencier ?
PPTX
Le rendez-vous de l'été.pptx Film français
PPTX
Devenir Inspecteur HSE _ Chp1_ L1....pptx
PPTX
SESSION4-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
étude----- droit------ 2005---------.ppt
le-subjonctif-présent, Grammaire, français
risque environnema et mesure protect.pptx
calcul---électrique--et--chutes de tension.ppt
Hopital bonne sante.pptxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Bienvenido slides about the first steps in spanish.pptx
Séminaire protection des personnes vulnérables.pptx
ENDODONTIE CONSERVATRICE.docx faculté de médecine dentaire
Présentation Projet Entreprise Minimaliste Moderne Sobre Blanc Noir.pptx
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
مبادئ و هدف الحركة الكشفية عرض تقديمي.ppt
Consignes générales sécurité et environnement.pdf
🎓 Le Secret des Profs Captivants - 💡 2. Hygiène vocale et santé professionnel...
585-developpement-d-une-application-avec-python-fr-en-business.pdf
Présentation Personal Branding J2025.pptx_20250218_132749_0000.pptx_20250610_...
le subjonctif présent, Conjugaison français
Articles definis et indefinis. Comment les différencier ?
Le rendez-vous de l'été.pptx Film français
Devenir Inspecteur HSE _ Chp1_ L1....pptx
SESSION4-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...

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.