Programmationorientéeobjet
appliquéeaveclelangageJava
IUTd'AixMarseille
RéseauxetTélécommunications
Novembre2013
IvanMadjarov
IvMad, 2008-2013 2
Laprogrammationorientéeobjet
LelangageJava–Partie1
2
IvMad, 2008-2013 3
Lesnotionsdel'Objet
3
IntroductionaumodèleJava
LaProgrammationOrientéeObjet
ObjetsetClasses
PropriétésetMéthodes
Encapsulation
ConstructeursetDestructeurs
SurchargeetRedéfinition
Héritage
Polymorphisme
3IvMad, 2008-2013 4
LemodèleJava
44
IvMad, 2008-2013 5
Java‐ Introduction
5IvMad, 2008-2013 6
Java‐ Modèle VM
6
LaportabilitédeJava
Système d'exploitation
JVM (Machine virtuelle)
Java Source File
Bonjour.java
java Bonjour
Java Class File
Bonjour.class
(byte-code portable)
javac Bonjour.java
IvMad, 2008-2013 7
Java‐ exemples
7
L'exempledebase:
class Bonjour {
public static void main (String args[]) {
System.out.println("Bonjour tout le monde!");
}
}
CodesourcesauvegardansBonjour.java
Compilationetexécution:
IvMad, 2008-2013 8
Java‐ exemple
8
Undeuxièmeexemple:
CodesourcesauvegardansBonjour.java
Compilationetexécutionavecparamètre:
class Bonjour {
public static void main(String args[]) {
System.out.println("Bonjour " + args[0]);
}
}
IvMad, 2008-2013 9
Java‐ programme
9
Ledéroulementduprogramme:
main :méthode(fonction)principaledelaclasse.
C'estlaméthodeappeléeparlacommande
>java Bonjour.
void :caractériselesfonctionsquinerenvoientrien
doncvoid enanglais.
LeparamètreString[]argv correspondauxparamètres
éventuellementpassésenlignedecommande:
>java Bonjour Pierre
IvMad, 2008-2013 10
Java‐ exemple
10
Leplusgranddetroisnombredonnésauclavier:
class comparerTrois {
public static void main(String argv[]) { // chaîne de c.
int a = Integer.parseInt(argv[0]); // Conversion vers int
int b = Integer.parseInt(argv[1]); // Conversion vers int
int c = Integer.parseInt(argv[2]); // Conversion vers int
if (a>b && a>c)
System.out.println("Le plus grand est a="+a);
if (b>a && b>c)
System.out.println("Le plus grand est b="+b);
if (c>a && c>b)
System.out.println("Le plus grand est c="+c);
}
}
IvMad, 2008-2013 11
Laprogrammationorientéeobjet
LemodèleObjet:
Considèrequelemondeestcomposéd’objets
Lesobjetssontidentifiablesindividuellement.
Lesobjetssontenrelationavecd’autresobjets
Lesobjetspeuventêtreabstraitssouslaformede
"types"quel’onappelleclasses
Lesclassessontorganiséessouslaformed'hiérarchies
Penserentermesd'abstractionsconceptuelles
Penserentermesd'entitésrelativementautonomes
Penserentermesdecadres(frameworks)etde
composantsréutilisables
11 IvMad, 2008-2013 12
Laprogrammationorientéeobjet
LesobjectifsdelaPOO
Faciliterlaréutilisation decode,encapsulation et
abstraction.
Faciliterl’évolution etl’extension ducode.
Améliorerlaconception etlamaintenance desgrands
systèmes.
Programmationpar"composants".
Conceptiond’unlogicielàlamanièredelafabrication
d’unevoitureparmodulesfabriquéspardessous
traitants.
12
IvMad, 2008-2013 13
Laprogrammationorientéeobjet
Objet etClasse
Laclasse représenteunedescriptionouunedéfinition
d’untype d’objet(données+méthodes)
L'objet enluimêmeestuneinstance declasse:
instance:Unexemplaired'uneclasse;
instance:Unecopiedelaclasse;
instance:Sareprésentationenmémoire.
Ondéclareuneclasse commetypecomplexe
Ondéclaredesvariablesdecetypeappeléesdes
objets.
13 IvMad, 2008-2013 14
Laprogrammationorientéeobjet
LesconceptsdelaPOO
Conceptdemodélisation àtraverslanotiondeclasseet
d’instanciation decesclasses
Conceptd’action àtraverslanotiond’envoidemessages
etdeméthodesàl’intérieurdesobjets
Conceptdeconstructionpar réutilisation et amélioration
parl’utilisationdelanotiond’héritage
Caractéristiquesessentiellesd'unlangagedePOO:
Abstraction,
Encapsulation,
Héritage,
Polymorphisme.
14
IvMad, 2008-2013 15
Laprogrammationorientéeobjet
Uneclasse estconstituéededescriptionsde:
données :quel’onnommeattributs.
fonctions :quel’onnommeméthodes
Uneclasseestunmodèledefinitionpourdesobjets
lamêmestructure(mêmeensembled'attributs),
lemêmecomportement(mêmesopérations,méthodes),
unesémantiquecommune.
Lesobjetssontdesreprésentationsdynamiques
"vivantes"dumodèledéfiniàtraverslaclasse.
Uneclassepermetd’instancier(créer)plusieursobjets
Chaqueobjetestl’instanced’une(seule)classe
15 IvMad, 2008-2013 16
POO–Encapsulation
Encapsulationc’estlefaitderéunir
àl'intérieurd'unemêmeentité
(objet)lecode(méthodes)+
données(champs).
Ilestpossibledemasquerles
informationsd'unobjetauxautres
objets.
2niveauxd’encapsulation :
Privé‐ leschampsetlesméthodes
masquéssontdanslapartieprivée
del’objet.
Public‐ leschampsetlesméthodes
visiblessontdanslapartieinterface
del’objet.
16
IvMad, 2008-2013 17
Héritage
L'héritage permetlacréationdesdescendants.
Lesdescendantsbénéficientdescaractéristiquespropresde
leurancêtre(champs et méthodes).
Lesdescendantsconserventlapossibilitédeposséderleur
propreschamps etméthodes.
17 IvMad, 2008-2013 18
Polymorphisme
Lepolymorphisme traitedelacapacitédel'objetàposséder
plusieursformes.
Cettecapacidérivedirectementduprinciped'héritage.
Unobjethéritedeschampsetméthodesdesesancêtres.
L’objetgardetoujourslacapacidepouvoirredéfinir une
méthode afindelaréécrire,oudelacompléter.
C’estlacapacitéd'unobjetàmodifiersoncomportement
propreetceluidesesdescendantsaucoursdel'exécution.
C’estlacapacitédusystèmeàchoisir
dynamiquementlaméthodequi
correspondautyperéelde
l'objetencours.
18
IvMad, 2008-2013 19
Laprogrammationorientéeobjet
19
LastructuredelaclasseJava
IvMad, 2008-2013 20
Laprogrammationorientéeobjet
20
Visibilitédesattributsdanslaclasse
1 / 49 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !