Académique Documents
Professionnel Documents
Culture Documents
– Cours 4 –
Chapitre 4 : Langage Java (1/2)
Programmation orienté objet
Etudiants concernés
Faculté/Institut Département Niveau Spécialité
Prérequis
Maîtrise de l’algorithmique
Langage JAVA
Objectifs du cours
Comprendre le paradigme orienté objet
Assimiler la syntaxe du langage Java
- 2 C 15,447% +8.06%
PascalCase MonExemple
camelCase monExemple
hyphen-lowercase mon-exemple
HYPHEN-UPPERCASE MON-EXEMPLE
snake_case mon_exemple
SCREAMING_SNAKE_CASE MON_EXEMPLE
dot.case mon.exemple
https://en.wikipedia.org/wiki/Naming_convention_(programming)#Java
http://www.jmdoudoux.fr/java/dej/chap-normes-dev.htm
package.name (dot.case)
ntic.licence.dam, com.google.maps
ClassName (PascalCase)
Activity, HttpSession
methodName (camlCase)
run(), getBackground()
CONSTANT_NAME (SCREAMING_SNAKE_CASE)
LENGTH_SHORT, DEFAULT_CONTEXT
1. Objet et classe
3. Héritage
4. Encapsulation
5. Surcharge
6. Redéfinition
7. Polymorphisme
8. Associations
Classe :
Une structure contenant les données et les comportements communs à un
ensemble d’objets qu’elle décrit
Chaque objet est une instance d’une classe
public class A {
public String a1;
package String a2;
protected String a3;
private String a4;
Interface :
Définitions de méthodes (sans implémentation) et de valeurs constantes (classe
abstraite/héritage multiple …)
public interface Ia {
...
public int add(int op1, int op2);
}
public class A {
public int add(int op1, int op2) { ... }
}
Accesseurs :
protéger l'information contenue dans un objet
ne proposer que des méthodes de manipulation de cet objet (getters et setters)
protected
no modifier
private
public class A {
...
public int add(int op1, int op2) { ... }
public float add(float op1, float op2) { ... }
...
}
public class A {
public int add(int op1, int op2) { ... }
}
public class A {
public int add(int op1, int op2) { ... }
}
public class A {
public int add(int op1, int op2) { ... }
}
public class A {
public int add(int op1, int op2) { ... }
}
Associations
Simple
Agrégation
Composition
Cardinaltés
1 1
one-to-one
one-to-many 1 *
many-to-many
* *
Navigabilité
Unidirectionnelle
Bidirectionnelle ou
public class A {
private B rb;
public void addB(B b) {
this.setB(b);
}
public B getB() { return rb; }
public void setB(B b) { this.rb = b; }
}
public class B {
...
// La classe B ne connaît pas
l'existence de la classe A
}
Aller plus loin : Consulter le chapitre 6 du module BDA1 de la formation STIC – Master 1
Université Constantine 2 © Dr. Chaouche A.-C. 23
Mots clés spéciaux en Java
Javadoc JSE 8 :
https://docs.oracle.com/javase/8/docs/api/