Professional Documents
Culture Documents
Notion d’objet
Un objet est une entité cohérente
rassemblant des données et du code
travaillant sur ces données.
Une classe
Une classe est une description abstraite
d’un objet. Elle peut être considérée en
quelque sorte comme un moule…
Marque = Peugeot
Véhicule Puissance = 7
+Marque : string(idl) Vitesse maximale = 197
+Puissance fiscale : int Vitesse courante = 98
+Vitesse maximale : int
+Vitesse courante : int Marque = Renault
+Creer un véhicule() Puissance = 5
+Détruire un véhicule() Vitesse maximale = 176
+Démarrer() Vitesse courante = 65
+Accélérer(entrée Taux : int)
L’instanciation
La création d’un objet est constituée de deux
phases :
• Une phase du ressort de la classe : allouer de la
mémoire et un contexte d’exécution minimaliste.
Méthode de classe
• Une phase du ressort de l’objet : initialiser ses
attributs d’instance. Méthode d’instance
Dans les langages tels que Java, C++, VB ou
C#, ces deux phases ne sont pas différenciées.
Appel à une méthode spéciale : le constructeur
L’instanciation
Classe
Constructeur
Véhicule
Classes abstraites
Image
Classes abstraites
Bitmap MetaFile
• la propriété Height
• la méthode Save
appartiennent à la classe image
Principe de spécialisation
Compte
+Crédit : double
+Débit : double
Compte Epargne
+déposer()
+retirer() +Crédit : double
+calculerSolder() : long +Débit : double
+Taux Intérêts : long
+déposer()
Compte Epargne +retirer()
+calculerSolder() : long
+Taux Intérêts : long
+calculerIntérêts() : long
+CalculerIntérêts() : long
* 0..*
Association Multiplicité
1 *
Agrégation
Employé La même
opération se
«utilise» +Creer()
+Supprimer() comporte
«interface»
différemment
IPersonne quand elle
+Creer()
+Supprimer()
s’applique à des
«utilise»
Client
objets basés sur
des classes
+Creer() différentes
+Supprimer()
Autres formes de polymorphisme
Interface MonInterface
Function TraiterNom(ByVal Nom As String) As String
Sub MethodeX(ByVal I As Integer)
Sub MethodeX(ByVal S As String)
End Interface
Implémentation d’une interface
Si une classe implémente une interface, elle doit
implémenter l’ensemble des membres de l’interface
Public Class ClasseImplementation
Implements MonInterface
Public Sub MethodeX(ByVal I As Integer) Implements MonInterface.MethodeX
'... code implémentation
End Sub
Public Sub MethodeX1(ByVal S As String) Implements MonInterface.MethodeX
End Sub
Public Function TraiterNom(ByVal Nom As String) As String Implements MonInterface.TraiterNom
End Function
End Class
Données membres partagées
Permettre
à plusieurs instances de partager
une même variable de classe
Public Class CompeEpargne
Private dMontant As Double
Public Shared TauxInteret As Double
Public Function CalculInterets() As Double
Return dMontant * TauxInteret
End Function
End Class
La persistance \ La sérialisation