IUT du limousin L.U.P Michel Vergnaud 2005-2006 Programmation Objet - Java.

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Formation universitaire à .NET: Introduction à C#
C++ 6ème cours Patrick Reuter maître de conférences
Spécialisation/généralisation Héritage Polymorphisme.
1 Quelques précisions sur l'héritage. 2 Signification de super.f() appel à la méthode f() masquée super : désigne l'objet appelant comme s'il était de.
Introspection et Réflexion Manipulation dynamique de code Java.
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Approfondissement du langage
(Classes prédéfinies – API Java)
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Chapitre III Héritage (début)
Programmation orientée objet
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Langage Oriente Objet Cours 4.
Principes de programmation (suite)
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
C++ : classes Introduction aux Langages Orientés Objets
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Langage Oriente Objet Cours 3.
Classes abstraites et Interfaces
POO : Objets et classes (Rappels)
Langage Oriente Objet Cours 2.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Introduction au paradigme orienté-objet (suite)
Présentation Structures de Données et TDA
Design Pattern: Decorator
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Chapitre III Héritage. POO-L3 H. Fauconnier2 Chapitre III: Héritage A) Extensions généralités Affectation et transtypage B) Méthodes Surcharge et signature.
Cours 4 Héritage (suite).
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI1502 Principes fondamentaux en conception des logiciels
Récursion IFT1025: Programmation 2 Jian-Yun Nie. Définition Le fait pour un programme ou une méthode de s'appeler lui-même. Par exemple –Définir la notion.
4 Introduction des objets. Les chaînes et tableaux
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
La notion de type revisitée en POO
11/04/ L'héritage Cours 7 Cours 7.
Programmation objet La base.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
Cours C++ Fonctions Surcharge d’opérateurs Passage d’arguments
Tutorat en bio-informatique
Constructeurs H Batatia. Variable statique Une variable statique est partagée par tous les objets d’une classe.
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
Réaliser par: Sadok Amel Cheboui hassiba
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 3 – Classes et objets en Java Master 1 SIGLIS1 Java Lecteur - Chapitre 3 Classes et objets en Java.
Strings et Tableaux en Java
LIFI-Java 2004 Séance du Jeudi 16 sept. Cours 2. Programmation Objet Qu’est ce que c’est? –une “facilité” de programmation? –une nouvelle façon de penser?
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Un peu de Design Pattern Quelques modèles pour développer vite et bien.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
C# de plus près.  Ce sont globalement les mêmes que Java : ◦ Int(int16, int32), float, double, bool,…  Les classe « communes » sont également les mêmes.
Cours du 5 novembre.
IUT du Limousin L.U.P Michel Vergnaud Programmation Objet - Java.
Les classes Introduction aux Langages Orientés Objets
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
1 Cpt JAVA : Eclipse (bis) Debogage. 2 Code à tester public class siecle { int t; public siecle() { super(); t=1; } static public boolean vrai() { return(false);
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
1 Listes des méthodes de la classe string, et exemples.
Conception de Programmes - IUT de Paris - 1ère année Les classes Introduction Déclaration d’une classe Utilisation d’une classe Définition des.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 2.
Flash MX – Séance 2 Interactions & ActionScript David Rapin Si28 P06.
LES CLASSES ET LES OBJETS
Cours N°4 Mohamed El Hacen Mohamed Dyla Institut professionnel universitaire 1.
Transcription de la présentation:

IUT du limousin L.U.P Michel Vergnaud Programmation Objet - Java

Méthodes : exemples public class Cercle { // Constructeurs... // Déplacer le cercle void déplacer(double dx, double dy) { xCentre = xCentre + dx; yCentre = yCentre + dy; } // Calculer l'aire du cercle double aire() { return rayon * rayon * ; }... // Définition des attributs double xCentre; double yCentre; double rayon; }

Créer et utiliser des objets public class UneApplication { static public void main(String args[]) { Cercle c1; // déclaration d'une référence sur un objet de classe Cercle Cercle c2; // idem c1 = new Cercle(); // création de l'objet référencé par c1 c2 = new Cercle(12.0, 5.0, 2.5); // création de l'objet référencé par c2 System.out.println("Premier cercle"); System.out.print(" x = "); System.out.print(c1.xCentre); System.out.print(" y = "); System.out.print(c1.yCentre); System.out.print(" rayon = "); System.out.print(c1.rayon); System.out.println("\n"); System.out.println("Second cercle "); System.out.print(" x = " + c2.xCentre); System.out.print(" y = " + c2.yCentre); System.out.println(" rayon = " + c2.rayon); c2.déplacer(8.0,15.0); System.out.println("Second cercle "); System.out.print(" x = " + c2.xCentre); System.out.print(" y = " + c2.yCentre); System.out.println(" rayon = " + c2.rayon); }

Arguments de la ligne de commande public class UneApplication { static public void main(String args[]) { // args fait référence au tableau d'arguments // passés en ligne de commande // On peut connaître le nombre d'arguments : int nbArgs = args.length; // et utiliser ces arguments for(int i=0; i < nbArgs; i++) { System.out.println("Argument " + i + " : " + args[i] ); }

Encapsulation des données - 1 L'accès aux champs de l'objet peut être interdit par le mot-clé private. Seules les méthodes membres de la classe pourront alors accéder aux champs. public class Cercle { // Constructeurs Cercle() { xCentre = 0.0; yCentre = 0.0; rayon = 1.0; }... // Définition des attributs private double xCentre ; private double yCentre ; private double rayon; }

Encapsulation des données - 2 Les lignes suivantes sont alors erronées : Cercle c = new Cercle(); System.out.println(c.rayon):// Le champ rayon est déclaré private c.rayon = 3.5; // on ne peut pas connaître sa valeur // ni la modifier depuis l'extérieur L'accès aux champs private ne peut se faire que par l'intermédiaire de méthodes membres, par exemple : class Cercle {... double getRayon() { return rayon; } void setRayon(double r) { if (r > 0.0) rayon = r; }... } On peut ainsi définir des données "en lecture seule" ou n'autoriser la modification des données qu'à certaines conditions.

Encapsulation des données - 3 Exemple : On veut représenter un article dans un magasin. Un article est défini par sa désignation, qui ne peut pas varier, et son prix, qui peut changer. public class Article { Article(String d, double p) { désignation = d; prix = p; } public String getDésignation() {return désignation ;} public double getPrix() {return prix ;} public void modifPrix(double pourCent) { prix = prix * (1.0 + pourCent / 100.0); } // Champs privés private String désignation ; private double prix; }

Héritage et références n Une référence sur une classe peut référencer un objet d'une classe dérivée. n Elle ne peut pas référencer un objet d'une classe parente. Cercle c1; Cercle c2; Disque d1; Disque d2; c1 = new Cercle(12.0, 5.0, 40.0); c2 = new Disque(6.0, 5.0, 20.0); d1 = new Cercle(12.0, 5.0, 40.0); // erreur System.out.print(c2.getCouleur() ); // erreur UneApplication2.java:14: incompatible types found : Cercle required: Disque d1 = new Cercle(12.0, 5.0, 40.0); UneApplication2.java:17: cannot resolve symbol symbol : method getCouleur () location: class Cercle ur() );

La classe Vector Tableau « à taille variable » Contient uniquement des références sur des objets de classe « Object » On doit donc transtyper ces références pour les utiliser. int size() // nombre d’éléments du vecteur. add(Object o) // ajoute un élément au vecteur. remove(int index ) // supprime l’élément à la position index Object elementAt(int index) // l’élément à la position index import java.util.Vector; Vector personnel = new Vector(); Manager m = new Manager(...); personnel.add( m ); personnel.add ( new Secrétaire(…) ); for(int i = 0; i < personnel.size(); i++) { Employé e = (Employé)personnel.elementAt(i); e.augmenterSalaire(5.0); }