Package IFT1025 Jian-Yun Nie.

Slides:



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

Sémantique des déclarations pour le langage Z minimal
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.
A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
Au programme du jour …. Introduction à lhéritage Un concept important de la programmation objet Livraison de code Organisation des répertoires et packages.
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Introduction à la programmation objet Langage Java
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Paquetages: Définitions Les classes Java sont regroupées en paquetages (packages en anglais) Ils correspondent aux « bibliothèques » des autres langages.
(Classes prédéfinies – API Java)
Introduction à Java - les paquetages -
F. Voisin : Introduction à Java 1 Introduction à Java - les interfaces - Frédéric VOISIN FIIFO - « Remise à Niveau »
Introduction à la POO: Les classes vs les objets
Chapitre III Héritage (début)
Programmation orientée objet
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
POO-L3 H. Fauconnier1 Tableau et héritage Y[] yA=new Y[3]; X[] xA=yA; //ok xA[0]=new Y(); xA[1]=new X(); //non xA[1]=new Z(); //non Object XX[]int[] YZY[]Z[]
Laboratoire d'Informatique de l’Université de Franche-Comté
Principes de programmation (suite)
IFT1025, Programmation 2 Jian-Yun Nie
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
Java Héritage, interfaces.
Historique de SystemC Regroupe 4 courants didées: SCENIC Project : Synopsys+UC Irvine Philips System-Level Data Types, VSIA SLD DWG IMEC, Hardware-Software.
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Langage Oriente Objet Cours 3.
Classes abstraites et Interfaces
Langage Oriente Objet Cours 2.
Structures de données IFT-2000
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.
Révision des notions OO et Java Semaine 1 Jian-Yun Nie.
Introduction à la programmation objet Langage Java
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Introduction au paradigme orienté-objet (suite)
1 Les paquetages («packages»). 2 L'objectif avec les paquetages («packages») est de rendre accessibles aux utilisateurs des classes définies par d'autres.
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Types de données abstrait et mécanismes d'encapsulation
8PRO100 Éléments de programmation Les types composés.
Langages orientés objets
Cours 8 (18 novembre 2011) exceptions. héritagePOO-L3 H. Fauconnier2 Tableau et héritage Y[] yA=new Y[3]; X[] xA=yA; //ok xA[0]=new Y(); xA[1]=new X();
CSI1502 Principes fondamentaux en conception des logiciels
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Texture 2D en PGC++.
99 Réutilisation du code grâce à l'héritage. 9-2 Objectifs À la fin de ce cours, vous serez capables de : Définir l'héritage Utiliser l'héritage pour.
Héritage et composition
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
La notion de type revisitée en POO
Cours 61 6 La sécurité, Portée, Visibilité Programmer avec sécurité.
Cours 9 Exceptions (fin) Généricité. POO-L3 H. Fauconnier2 Chaînage d'exceptions  Une exception peut être causée par une autre.  il peut être utile.
11/04/ L'héritage Cours 7 Cours 7.
Programmation objet La base.
Variables et accès en Java. Déclaration des variables final transient static private Printer hp; transient => ne doivent pas être sérialisées volatile.
Cours 7 Classes locales Clonage Divers: tableaux.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
Tutorat en bio-informatique
Réaliser par: Sadok Amel Cheboui hassiba
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
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.
Chapitre VII Techniques plus avancées à travers le concept de classe.
Héritage Conception par Objet et programmation Java
1 Complément JAVA 1 - Eclipse. 2 Plan Notion d'environnement de développement Interface d'Eclipse Utiliser Eclipse Éditeur de code Fonctionnalité supplémentaire.
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.
LES CLASSES ET LES OBJETS
Cours N°4 Mohamed El Hacen Mohamed Dyla Institut professionnel universitaire 1.
Transcription de la présentation:

Package IFT1025 Jian-Yun Nie

Notion de Package Un package regroupe un ensemble de classes qui ont des fonctionnalités similaires. Par exemple, le package awt regroupe toutes les classes reliées aux traitements de l'interface graphiques. Une autre hiérarchie pour les classes, mais selon leurs fonctionnalité Utilité: Faciliter l’importation des classes appropriées import <package>.<sous-package>.<classe>;

Définir son propre package Inclure une classe dans un package: spécifier le package pour la classe comme suit package <nom-package>; class <nom-classe> {…} Pour définir un sous-package dans un package, il faut préciser tout le chemin pour arriver à ce sous-package comme suit: package <package>.<sous-package>;

Hiérarchie de package Package contient des sous-packages, … Hiérarchie arborescente Deux aspects dans la définition de la hiérarchie: Logique: spécifiée par « package » avant la définition de la classe; Physique: le stockage des classes doit suivre la même hiérarchie de répertoire/sous-répertoire Exemple package P1.P2; class C {… } ceci implique qu'il doit exister un répertoire nommé "P1", et dans lequel il y a un sous-répertoire "P2". Dans P2, il doit avoir la classe C.class.

Rendre un package visible au compilateur Quand on compile un programme qui "import" des packages, il faut que ces packages soient visibles au compilateur. La visibilité est déterminée par la variable d'environnement CLASSPATH. Par défaut, la CLASSPATH inclut le chemin pour accéder les packages prédéfinis du langage JAVA, et le répertoire courant (.). Pour indiquer au compilateur d'autres points où il doit aussi commencer sa recherche des packages, il faut étendre cette variable d'environnement avec d'autres chemins. Les différents chemins dans CLASSPATH sont séparés par ":". setenv CLASSPATH .:/u/nie/JAVA

Accessibilité liée au package Classes/attributs private, public: faciles Par défaut: aucune spécification de protection protected Par défaut Dans le même package Oui Dans un diff. package Non protected Dans un autre package et à partir d’une sous-classe Dans un autre package et en dehors de la classe

exemple C1.java: package package1; C4.java: C3.java: public class C1 { protected int X = 1; int y = 2; } C4.java: package package2; import package1.*; public class C4 { void P4(C1 ref) { ref.x = 3; //erreur. ref.y = 4; // erreur; } C3.java: package package2; import package1.*; public class C3 extends C1 { void P3() { x = 2; // OK y = 3; // erreur } void P33(C1 ref) { ref.x = 1; //erreur. ref.y = 2; //erreur; C2.java: package package1; public class C2 { C1 rc1 = new C1(); void P2() { rc1.x = 3; // OK: rc1.y = 4; // OK. }

Cas particulier pour "protected" dans un constructeur Pour une variable "protected" de la super-classe: Si dans un constructeur d'une sous-classe, on crée une instance de cette même sous-classe ou d'une sous-sous-classe, alors on peut accéder à une variable (ou méthode) "protected" à partir de cette instance. Si l'instance créée est de la super-classe, alors, on ne peut pas accéder à cette variable.

Exemple C1.java: package package1; public class C1 { protected int X = 1; int y = 2; } C3.java: package package2; import package1.*; public class C3 extends C1 { C3() { C3 rc3 = new C3(); rc3.x = 3; // OK car rc3 est de la même sous-classe; Supposons une sous-classe C5 de C3: C3() { C5 rc5 = new C5(); rc5.x = 3; // OK car rc5 est d'une sous-sous-classe; } C1 rc1 = new C1(); rc1.x = 3; // erreur.