Prérequis sur la programmation orientée objet illustrée avec JAVA

Prérequis sur la programmation
orientée objet illustrée avec JAVA
Christian Bac, Denis Conan
Revision : 1247
CSC4102
Télécom SudParis Février 2016
Prérequis sur la programmation orientée objet illustrée avec JAVA
Table des matières
Prérequis sur la programmation orientée objet illustrée avec JAVA
Christian Bac, Denis Conan, , Télécom SudParis, CSC4102
Février 2016 1
Grille d’auto-évaluation des prérequis sur le langage JAVA 3
Sommaire 4
1 Introduction 5
1.1JAVAunlangageorientéobjet .................................... 5
1.2MachineVirtuelleJAVA........................................ 6
1.3 JAVA Standard Development Kit ................................... 7
2 Tableaux 8
3 Passage d’arguments dans les méthodes 10
4 Classes et objets en JAVA 11
4.1Classe,attribut,méthode ....................................... 11
4.2Constructeurs.............................................. 14
4.3Attributsetméthodesdeclasse.................................... 15
4.3.1Destructiondesobjets..................................... 17
5 Association entre classes, multiplicité 18
6 Généralisation spécialisation / Héritage 20
6.1Héritageetconstructeur........................................ 20
7 Organisation des sources JAVA 23
7.1 Chemin de recherche et exécution d’un programme JAVA . . . . . . . . . . . . . . . . . . . . . 24
Exercice sur la mise en œuvre d’un algorithme 26
Exercice sur la mise en œuvre d’une hiérachie de classes 27
Télécom SudParis — C. Bac, D. Conan — Février 2016 — CSC4102 2
Prérequis sur la programmation orientée objet illustrée avec JAVA
Grille d’auto-évaluation des prérequis sur le langage JAVA
Voici la grille d’auto-évaluation de compétences a priori acquises dans les modules CSC3101 et PRO3600
sur la programmation en JAVA. Si certaines notions de la grille ne vous semble pas acquises, prenez connais-
sance des pages qui suivent. Les pages qui suivent ne présentent pas les derniers concepts de la grille (à
partir de protected, visibilité) car nous revenons dessus dans le cours à venir. En outre, deux exercices sont
proposés en dernière page.
Notions / concept de programmation 0 1 2 3 4 5
Machine virtuelle
JAVA Standard Development Kit :javac,java, etc.
if,switch
for,while,do while
Types primitifs : short,int,long,float,double,boolean,byte
Attribut (déclaration, définition), d’instance Versus de classe
final
static
Classe (abstraction, encapsulation, class)
Constructeur
this.
this()
Objet / instance
Référence, passage d’arguments dans les méthodes
new
Ramasse-miettes
Tableau ([],new)
Méthode (prototype, définition, paramètre, argument)
void
main
package, chemin de recherche
Surcharge (en anglais overloading)
Héritage (classe de base, classe dérivée)
extends
protected
Visibilité (public,private,protected,package friendly)
Méthode polymorphique
Redéfinition (en anglais overriding)
super.
super()
Transtypage (en anglais cast)
Upcast
Downcast
Liaison dynamique / tardive
Classe abstraite
Méthode abstraite
Interface, implements
Égalité (de références, d’objet), equals
Table 1 : Grille d’auto-évaluation des prérequis sur la programmation JAVA
Télécom SudParis — C. Bac, D. Conan — Février 2016 — CSC4102 3
Prérequis sur la programmation orientée objet illustrée avec JAVA
# 2
'
&
$
%
Sommaire
1 Introduction....................................................................4
2 Tableaux .......................................................................7
3 Passage d’arguments dans les méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Classes et objets en JAVA......................................................10
5 Association entre classes, multiplicité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6 Généralisation spécialisation / Héritage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
7 Organisation des sources JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Télécom SudParis — C. Bac, D. Conan — Février 2016 — CSC4102 4
Prérequis sur la programmation orientée objet illustrée avec JAVA 1 Introduction
# 3
'
&
$
%
1 Introduction
1.1 JAVA un langage orienté objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Machine Virtuelle JAVA........................................................5
1.3 JAVA Standard Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
# 4
'
&
$
%
1.1 JAVA un langage orienté objet
Tout est classe sauf les types primitifs (int,float,double, etc.)
Tout objet (de classe) est manipulé à travers une référence
La généralisation spécialisation, appelée héritage dans les langages de
programmation, est simple entre les classes
Toutes les classes dérivent/héritent de java.lang.Object
L’API (en anglais, Application Programming Interface) est un ensemble de classes
JAVA est un langage orienté objet. La notion de classe est centrale dans ce langage et tout le code est
contenu dans des classes. Seules les variables de type primitif ne sont pas des objets. Les types primitifs
servent à créer des variables locales dans les méthodes et des attributs pour les classes. Les objets ne sont
pas manipulés directement mais à travers des références (pointeurs dé-référencés de manière automatique).
Comme tous les langages orientés objet, JAVA supporte la généralisation spécialisation, le plus commu-
nément appélée « héritage » dans les langages de programmation. Pour simplifier la mise en œuvre, JAVA
ne permet que l’héritage simple, c’est-à-dire qu’une classe dérive d’une classe et d’une seule. En outre, JAVA
introduit le concept d’interface ; une classe peut « implémenter » plusieurs interfaces. Nous revenons sur les
concepts d’héritage et d’interface dans cette présentation et dans le cours.
Toutes les classes dérivent d’une classe racine appelée java.lang.Object. Cette classe définit des com-
portements stéréotypés dont nous reparlerons dans le cours.
Télécom SudParis — C. Bac, D. Conan — Février 2016 — CSC4102 5
1 / 27 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 !