0% ont trouvé ce document utile (0 vote)
28 vues17 pages

Module 5 - Concepts de Base Java POO

Ce cours présente les bases de la programmation orientée objet (POO) en Java, incluant des concepts fondamentaux tels que les classes, les objets, l'héritage et le polymorphisme. Les apprenants acquerront des compétences pour développer des applications autonomes et pourront progresser vers des technologies avancées comme JEE et Spring Boot. Le document souligne également l'importance de l'optimisation des programmes et fournit des exemples pratiques d'implémentation de classes et de méthodes.

Transféré par

awpapi43
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
28 vues17 pages

Module 5 - Concepts de Base Java POO

Ce cours présente les bases de la programmation orientée objet (POO) en Java, incluant des concepts fondamentaux tels que les classes, les objets, l'héritage et le polymorphisme. Les apprenants acquerront des compétences pour développer des applications autonomes et pourront progresser vers des technologies avancées comme JEE et Spring Boot. Le document souligne également l'importance de l'optimisation des programmes et fournit des exemples pratiques d'implémentation de classes et de méthodes.

Transféré par

awpapi43
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Application de la Programmation

Orientée Objet au
langage JAVA

Mr Hamadou MBALLO

Licence 2 Informatique CEFAS.

1
Que donne ce cours ?

Ce cours donne les bases fondamentales de la programmation orientée objet


appliquée au langage JAVA.

Quelles compétences acquérir après le cours ?


Après ce cours, l’apprenant aura des bases solides en POO…

Vers où aller après le cours ?


Après le cours, le lecteur pourra attaquer les notions très avancées en Java telles
que : Les SWING, JAVA Fx, JDBC ce qui lui permettra de réaliser des
applications autonomes fonctionnant sur un seul ordinateur. Par la suite attaquer
la programmation d’applications entreprises avec la technologie JEE (J2E). Il
pourra aussi s’attaquer à la programmation avec le Framework Spring Boot.
2
Apprendre à optimiser !!!

Compiler et ça marche ne veut pas


dire que le programme est BON !

Il faut OPTIMISER ...

3
PROGRAMME JAVA POO :

◼ Module 4 : Les tableaux


◼ Module 5 : Les concepts de base de la POO
◼ Module 6 : L’héritage
◼ Module 7 : Le Polymorphisme

4
Module 5 Concepts de base de la POO

Ce cours enseigne les aspects suivants:

- notion d’objet, de classe;


- construction des objets : notion de constructeur;
- champs d’instance, méthodes d’instance;
- autoréférence: this
- champs et méthodes de classe;
- affectation d’objets;
- transfert d’informations avec les méthodes;
- notion d’objet membre;
- comparaison d’objets;
- surdéfinition (surcharge) de fonctions;
- surdéfinition de constructeurs;
- appel de constructeur dans un autre constructeur de la même classe: this (…)

5
Le concept d’ objet

Un objet peut être défini comme étant une entité concrète ou abstraite du
monde réel. Les objets contiennent des attributs et des méthodes.
Chaque objet sera caractérisé par son jeu de données( on parlera d’
attributs ou aussi de champs). Les fonctions qui agissent sur les
données de l’objet sont aussi appelées méthodes.
données
CHAMPS propriétés
caractéristiques
attributs
OBJET (Identification, caractérisation)

METHODES

(Opérations, mouvements, manipulations, fonctions)

6
Le concept d’ objet: exemples

CHAMPS - abscisse
- ordonnée

Point
METHODES - affiche
Objet point du plan cartésien
- coincide

CHAMPS prenom
nom
numero
Compte solde

METHODES - deposer
- retirer
Objet compte en banque 7
Objet = identité + état + comportement (1/2)

Chaque objet possède :

- une identité qui lui est propre :


Même si deux personnes ont des noms identiques, elles désignent deux
individus distincts. Elles ont une identité distincte .

- un état : les informations qui lui sont propres


Il est défini par les valeurs associées à chacun des champs de la classe.
Pour une personne : nom ,prénom, age, sexe, race ……

- un comportement : les méthodes applicables à l’objet

Pour une personne : respirer, marcher, mourir ……

8
En considérant des objets points du plan cartésien:
Point a = new Point (2,3);
Point b=new Point (4,5);

Objet = identité + état + comportement (2/2)

2 [Link] ( );
3
Identité =Référence
(adresse mémoire)
a 4
Identité =Référence [Link] ( );
(adresse mémoire) 5
b 9
Le concept de classe

Une classe est la description d’un ensemble de données et de fonctions


regroupées au sein d’une même entité (appelée objet).
On peut définir une classe comme étant aussi une description abstraite
d’un objet du monde réel.
Classe des points

Point p2
Point p4
Point p1
Point p5

Point p3

10
« Une classe est une usine de création d’objets de même nature. »
Définition d’une classe

private: Les champs x et y ne sont


visibles qu’à l’intérieur de la classe et
non à l’extérieur : principe de
l’encapsulation des données. Les
package [Link]; données ne seront accessibles que par
public class Point l’intermédiaire de méthodes prévues à
{ cet effet (accesseurs).
private int x ; // champ x d’un objet Point
private int y ; // champ y d’un objet Point
public Point ( int abs, int ord )
{ x = abs ; Permet d’attribuer des valeurs initiales
y = ord ; aux champs de l’objet.
} Cette méthode est ce qu’on appelle un
} // fin de la classe constructeur.

11
Remarques

Une méthode peut être déclarée private : dans ce cas elle n’est visible qu’à
l’intérieur de la classe où elle est définie. Pour pouvoir l’utiliser dans un
autre programme, il faut nécessairement passer par une méthode publique
de sa classe ayant l’appelée.

Il est fortement déconseillé de déclarer des champs avec l’attribut public,


cela nuit à l’encapsulation des données.

12
Créer un objet = instancier une classe

int a = 10 ; // réservation de l’emplacement mémoire pour une variable de type int


float x ; // réservation de l’emplacement mémoire pour une variable de type float
Point a ; // cette déclaration ne réserve pas d’emplacement pour un objet de type Point
// mais simplement une référence à un objet de type Point.
La création d’un objet (on parle d’instanciation ) se fait avec l’opérateur new :
on pourra écrire :
a= new Point (1, 2) ; // crée un emplacement mémoire pour un objet de
//type Point et on met sa référence dans la variable a

1 x
référence
2 y objet
a
Point

13
Utilisation d’une classe
Lorsqu’une classe est définie, il ne reste qu’à l’utiliser, en instanciant des objets
et en appelant les méthodes décrivant les fonctionnalités. Mais attention, l’accès
DIRECT aux champs encapsulés est impossible en dehors de leur classe.

package [Link];
public class TestPoint
{ public static void main( String args [ ] )
{ Point a = new Point (1,2) ;
int abs=a.x; // tentative d’acces au CHAMP x déjà bien encapsulé dans sa classe
int ord=a.y; // tentative d’acces au CHAMP y déjà bien encapsulé dans sa classe
}
} // fin de la classe TestPoint

Lorsque vous définissez une classe, vous devez aussi y définir toutes les méthodes utiles.
En particulier, songez à définir les ACCESSEURS ou MUTATEURS. Il s’agit de méthodes
(que l’on nomme aussi getter et setter) servant à accéder et à modifier individuellement
chaque champ de l’objet surtout lorsque ceux-ci sont encapsulés.

14
ACCESSEURS: getter et setter

Voici les accesseurs à insérer dans notre classe Point précédente.

public class Point


{
//code manquant
Remarque importante: Java a introduit une convention importante
public int getX ( ) sur le nommage des getter et setter qui stipule que leur
{ return x; nom doit commencer par get (pour un getter) et set
} (pour un setter) suivi du nom du champ et que l’initiale
public int getY ( ) du nom du champ doit commencer par une lettre MAJUSCULE.
{ return y;
}
public void setX (int abs )
{ x=abs;
}
public void setY (int ord )
{ y=ord;
}
} // fin de la classe Point 15
Autres fonctionnalités
A part les accesseurs, les autres fonctionnalités de la classe doivent y être
insérées sous forme de méthodes d’instances ou méthodes de classe.
Voici par exemple, une méthode pour déplacer un point et une méthode pour afficher
à la fois les coordonnées d’un point.
Pour utiliser ces méthodes, il suffit de disposer d’une instance de la classe:
Point z = new Point (23,-12)
Et de faire: [Link] (-3,-4); // on dit que l’instance z accède à SA méthode deplace
[Link] ( );

class Point
{
// code manquant

public void deplace (int dx, int dy )


{ x += dx ; y += dy ;

public void affiche( )


{ [Link]("Point de coordonnées" + x + " et " +y);

} //fin de la classe Point


16
Exercice d’application

A l’image de l’exemple de la classe Point, concevoir et créer une classe minimale,


Calculatrice, permettant de faire des opérations addition et soustraction de 2 entiers.
Créer une classe d’exploitation TestCalculatrice où vous instanciez la classe Calculatrice.

17

Vous aimerez peut-être aussi