Académique Documents
Professionnel Documents
Culture Documents
I. Paradigmes de programmation
1. Programmation procédurale:
Un programme est vu comme une communauté de composants autonomes (objets) disposant de ses
ressources et de ses moyens d’interaction
Utilise des classes pour décrire les structures et leur comportement
Usage intensif de l’échange de messages
Langage typique Smalltalk, C++, Java,
}
2. Déclaration des attributs
type nom_attribut_1;
type nom_attribut_N;
Remarque:
Les attributs sont des variables dont la portée est toutes les méthodes de la classe.
Il est fortement recommandé que les attributs ne doivent pas être accessibles à l’extérieur de la classe qui
les définit.
code_methode1
}
code_methodeM
Exemple 1
In [ ]:
IV. Constructeurs
Un constructeur est une méthode qui :
a pour nom le nom de la classe
n’a pas de type de retour dans sa déclaration
Syntaxe:
public nom_classe(type1 nom1, type2 nom2, …) {
code_constructeur
Remarque :
On peut définir plusieurs constructeurs avec des signatures différentes.
Le rôle du constructeur est de permettre d’initialiser les attributs d’un objet au moment de sa création.
Le constructeur dont la signature ne comporte pas d’argument est appelé le constructeur par défaut.
Si on ne définit aucun constructeur dans le code de la classe, le constructeur par défaut existe mais il
ne contient aucune instruction (donc il ne fait rien).
Le constructeur est appelé automatiquement par l’opérateur new quand on crée un objet. Les
arguments d’appel du constructeur sont indiqués dans les parenthèses après le nom du type :
Exemple :
In [ ]:
Le meilleur endroit où placer l’initialisation est le constructeur. Il suffit de créer un constructeur avec
arguments :
In [ ]:
In [ ]:
V. Destructeur
La durée de vie d'un objet passe par trois étapes :
c. La suppression de l'objet
Dans d’autres langages de programmation (c++ par exemple) la suppression (libération de la mémoire) est
faite par une méthode appelée destructeur.
En java, cette fonction est prise en charge automatiquement par les garbages collectors.
VI. Références
Il n’existe pas de variables objet
Il n’existe que des références à des objets
Chien monChien = new Chien() ;
In [ ]:
In [ ]:
In [ ]:
1 Chien d = c ;
In [ ]:
1 c = b;
In [ ]:
1 d = c;
In [ ]:
1 d = null;
VII. Les concepts fondamentaux de la POO
a) L'encapsulation est l'un des trois grands principes de la POO :
b) Les Message:
L'objet est une boite noire. Le message est le moyen de formuler une requête à un objet (une demande de
service).
Le message doit contenir:
Handle de l'objet : une référence ou un pointeur vers l'objet.
Sélecteur de méthode (nom de la méthode).
Liste des paramètres.
c) Vis à vis des messages, un objet peut se comporter comme :
d) Interface:
La liste des messages auxquels est capable de répondre un objet constitue son interface. C'est la partie
publique d'un objet.
En pratique, dans C++ ou Java, l'interface représente la liste des méthodes accessibles (publiques) au
client de l'objet.
1. visibilité des propriétés et des méthodes
public : visible de partout (à partir des autres classes des autres packages également)
protected : (protégé) visible uniquement à partir des classes du même package et des sous classes
« rien » : visible uniquement à partie des classes du même package.
private : (privé) visible uniquement dans la classe
propriété : une propriété est dite visible par une classe si les méthodes de cette classe peuvent avoir
accès à sa valeur et peuvent la modifier.
méthode: une méthode est dite visible par une classe si les méthodes de cette classe peuvent l’appeler.
Exercices
Exercice 1:
Définissez une classe Point permettant de manipuler un point du plan. Cette classe contiendra :
- un constructeur,
- une méthode deplacer qui effectue une translation définie par les argumen
ts
Exercice 3:
Ecrivez la classe Complexe représentant des nombres complexes. Un nombre complexe comporte une partie
réelle et une partie imaginaire (partieRéelle+partieImaginaire*i avec i=racine(-1)).
- Complexe(partieReelle,partieImaginaire),
- Complexe(Complexe),
- ajouter(Complexe),
- soustraire(Complexe),
In [ ]: