0% ont trouvé ce document utile (0 vote)
8 vues16 pages

POO et gestion des destructeurs en Java

Transféré par

abdelkarim fatis
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)
8 vues16 pages

POO et gestion des destructeurs en Java

Transféré par

abdelkarim fatis
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

POO

CM
POO
• POO : paradigme de [Link] perme0ant de
• Organiser le code en u1lisant des objets, qui sont des
instances de classes,
• modéliser les interac1ons et les rela+ons entre les
objets.
• Offrir une abstrac1on efficace et modulaire pour
résoudre des problèmes complexes.
• Concepts clés de la POO
• classes, objets,
• encapsula1on, abstrac1on, héritage, polymorphisme.
POO
Classe
• Une classe est une abstraction qui encapsule les données et
le comportement liés à un concept particulier.
• Une structure qui définit les attributs et les méthodes que
les objets de cette classe auront
Voiture
• Un modèle ou un plan pour créer des objets Numéro de série : int
Éléments de la classe Poids : double
Immatriculation : String
Kilométrage : double
• Attributs
Démarrer ()
• Caractéristiques/propriété de la classe Arrêter()
Rouler()
• Méthodes
• Fonctions qui définissent le comportement des objets de cette
classe.
POO
Objet
• Instance spécifique d’une classe
• Possède des a0ributs spécifiques et peut exécuter
les méthodes définies dans la classe.
Voiture
Voiture
Numéro de série : int
233434 : Numéro de série
Poids : double
1500 kg : Poids
Immatriculation : String
8864 YF 17 : Immatriculation
Kilométrage : double
133 000 : kilométrage
Démarrer ()
Démarrer () Arrêter()
Arrêter() Rouler()
Rouler()
POO
Voiture 3
Voiture 2
3434 : Numéro de série
5323454 : Numéro de série 1700 kg : Poids
1500 kg : Poids 8634 YGG 75 : Immatriculation
64 YFT 17 : Immatriculation 15 000 : kilométrage
23 000 : kilométrage

Voiture
Voiture
Numéro de série : int
233434 : Numéro de série
Poids : double
1500 kg : Poids
Immatriculation : String
8864 YF 17 : Immatriculation
Kilométrage : double
133 000 : kilométrage
Démarrer ()
Démarrer () Arrêter()
Arrêter() Rouler()
Rouler()
POO
• [Link]
• Regrouper les aEributs et les méthodes d'une classe de
manière à ce qu'ils soient cachés à l'extérieur de la
classe, sauf ceux qui sont explicitement définis comme
accessibles.
• Protéger les données internes de la classe et de fournir
une interface de communica1on contrôlée avec
l'extérieur.
POO
• Héritage
• Créer une nouvelle classe (appelée sous-classe ou classe
dérivée) en utilisant une classe existante (appelée classe
de base ou classe mère) comme modèle.
• La sous-classe hérite des attributs et méthodes de la
classe de base, tout en pouvant ajouter des
fonctionnalités supplémentaires ou modifier le
comportement existant.
POO
• Intérêts
• Modularité
• Abstrac1on
• Réu1lisa1on du code
• Évolu1vité
• Associa1on avec UML
Exemple : classe Etudiant
• Création de la classe
Student
string name
int age
double[] grades
double average
bool result
calculateAverage ()
determineResult ()
displayInfo()
Exemple : classe Etudiant
• Création d’un objet
Student
string name
int age
double[] grades
double average
bool result
calculateAverage ()
determineResult ()
displayInfo()
Exemple : classe Etudiant
• Droit d'accès
• public : aEribut/méthode peuvent être appelés depuis
l’extérieur de l’objet
• private : aEribut/méthode ne peuvent pas être appelés
depuis l’extérieur de l’objet.
• Pourquoi protéger les a0ributs ?
• Pour contrôler leurs modifica1ons
• Note [0, 20], âge [15, 50]…
• Tous les a0ributs doivent être privées, toute
[Link] doit passer par les méthodes
Exemple : classe Etudiant
• Code des [Link] Student
• calculateAverage() string name
• determineResult() int age
• displayInfo() double[] grades
double average
• [Link] set et get bool result
• setName() / getName() calculateAverage ()
• setAge() / getAge() determineResult ()
• setGrades() displayInfo()
• getAverage()
Exemple : classe Etudiant
Constructeur / destructeur
Constructeur
• Méthode spéciale d'une classe appelée
[Link] lors de la cré[Link] d'un objet de
ce0e classe
• Son rôle principal est d'[Link] les a0ributs de
l'objet à des valeurs par défaut ou spécifiées
• Porte le même nom que la classe et n’a pas de type
de retour (pas même void)
• Il peut être surchargé pour différents ensembles de
paramètres
Constructeur / destructeur
Constructeur
Constructeur / destructeur
• Destructeur
• Méthode spéciale d'une classe qui est appelée
automa4quement lorsqu'un objet de ce8e classe est détruit
• Java
• Pas de destructeur en java
• C++
• Porte le nom de la classé précédent par ~ et n’a pas de type
de retour (pas même void)
• ~Student()
• U4lisé pour libérer des ressources (comme la mémoire
allouée dynamiquement) et effectuer des opéra4ons de
ne8oyage nécessaires.

Vous aimerez peut-être aussi