La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours Programmation Orientée Objet et Langage Java Equipe Pédagogique: Institut supérieur de gestion de Tunis 2009-2010 Linda OUERFELLI

Présentations similaires


Présentation au sujet: "Cours Programmation Orientée Objet et Langage Java Equipe Pédagogique: Institut supérieur de gestion de Tunis 2009-2010 Linda OUERFELLI"— Transcription de la présentation:

1 Cours Programmation Orientée Objet et Langage Java Equipe Pédagogique: Institut supérieur de gestion de Tunis Linda OUERFELLI Meherzia LAGHA

2 Linda OUERFELLI & Meherzia LAGHA Objectifs Présenter lintérêt de la Programmation orientée Objet Introduire les notions de base de la Programmation Orientée Objet Présenter le langage Java 01/04/ Cours POO & Langage JAVA

3 Linda OUERFELLI & Meherzia LAGHA Bibliographie Eric Sigoillot(25/07/2004), le 22/03/2010) Site web du Laboratoire dInformatique de Robotique et de Microélectronique de Montpelier, nOO.pdf, (consulté le 22/33/2010) nOO.pdf 01/04/ Cours POO & Langage JAVA

4 Linda OUERFELLI & Meherzia LAGHA Cour de POO de Z.Ellouadi et A.Zribi, année universitaire Jean Michel Doudoux (01/11/2009), /, (consulté le 22/03/2010) / Site de Sun Microsystems 01/04/ Cours POO & Langage JAVA Bibliographie

5 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA 5 Plan Introduction Les ABC du langage JAVA Origines de la POO Définitions Généralités Caractéristiques Histoire Syntaxe

6 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA 6 Plan Présentation des Concepts Encapsulation Héritage Redéfinition Surcharge Polymorphisme

7 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA 7 Généralités Structurée Modulaire Procédurale Évènementielle "Sauvage" Parallèle …………………..

8 Linda OUERFELLI & Meherzia LAGHA Origines Langages Bas niveau Ex: langage binaire, langage assembleur Langages Bas niveau Ex: langage binaire, langage assembleur Début des Années 50 Langage de plus haut niveau Ex: Fortran, Cobol Fin des années 50 début des années 60 Langages de programmation structurée Ex: Pascal, C Années 70 Langage orientées Objet Ex: Java, C++ Années 80 … 01/04/ Cours POO & Langage JAVA

9 Linda OUERFELLI & Meherzia LAGHA Origines En langage C Suite dinstructions organisées en une collection de fonctions qui sappellent 01/04/ Cours POO & Langage JAVA Main F F F F Programmation Orientée Objet

10 Linda OUERFELLI & Meherzia LAGHA Origines 01/04/2010Cours POO & Langage JAVA 10 Procédures, fonctions Objets Programmation Structurée Programmation Objet

11 Linda OUERFELLI & Meherzia LAGHA Définitions Objet Entité abstraite définie par son état et son comportement Véhicule Maison Personne Table Rectangle …………… Exemples 01/04/201011Cours POO & Langage JAVA

12 Linda OUERFELLI & Meherzia LAGHA Définitions Attribut Propriété Exemple Objet: Personne Attributs: Numéro CIN Nom Age Adresse Taille Profession …………. 01/04/201012Cours POO & Langage JAVA

13 Linda OUERFELLI & Meherzia LAGHA Classe 01/04/201013Cours POO & Langage JAVA Personne1{ nom:Mohamed; Prénom: Ali; Age: 23 ans} Personne2{ nom:Sami; prénom: Laabidi; age: 45ans} classe Personne{ Attributs: Nom Prénom Age Répond aux requêtes: Quel est son prénom? Quel est son nom Quel est son âge? Opérations: Modifier le nom Modifier le prénom Modifier lâge } Personne3{ nom: Mahdi; prénom: Cherif; age: 60ans}

14 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA14 Méthode Personne1{ nom:Mohamed; Prénom: Ali; Age: 23 ans} Quel est le nom de Personne1? Les accesseurs Mohamed Les modificateurs Personne1{ nom:Mohamed; Prénom: Ali; Age: 23 ans 26 ans} Age=26 ans

15 Linda OUERFELLI & Meherzia LAGHA JAVA: Histoire 01/04/201015Cours POO & Langage JAVA 1991 Présentation dOAK 1992 Construction PDA (Star 7) 1993 Lancement de MOSAIC Adaptation dOAK à internet 1994 Renommé JAVA 1995 Navigateur Hot JAVA Sortie JDK 1.0 B

16 Linda OUERFELLI & Meherzia LAGHA JAVA: Histoire 01/04/201016Cours POO & Langage JAVA 1996 Animation JAVA pour les pages web 1998 Sortie de la plateforme JAVA Sortie JDK Passage sous libre licence Sortie JAVA 6

17 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA17 JAVA: Caractéristiques JAVA Orienté Objet Simple Fortement typé Gère la mémoire Sûr Économe Multitâches Interprété Portable

18 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA18 JAVA: Syntaxe Convention de codage Un nom de classe ou interface doit commencer par une majuscule. Ex: classe Point Un nom dattribut doit commencer par une minuscule. Ex: loopCounter Une constante sécrit en majuscules. Ex: PI JAVA est sensible à la casse. Ne pas utilisé les noms réservés comme noms de variables ou noms de classes.

19 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA19 JAVA: Syntaxe Les commentaires Sur plusieurs lignes Sur une seule ligne Commentaire Javadoc

20 Linda OUERFELLI & Meherzia LAGHA Nom de la variable Type 01/04/2010Cours POO & Langage JAVA20 JAVA: Syntaxe Déclaration des variables La déclaration et linitialisation dune variable peut se faire en une seule ligne. Ex: int i = 0; La déclaration et linitialisation dune variable peut se faire sur plusieurs lignes. Ex: String chaine; chaine = "bonjour"; La déclaration de plusieurs variables en même temps. Ex:int i = 0, j = 3; int i = 0;

21 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA21 JAVA: Syntaxe Les types des variables byteshortintlong Taille (en bits) Intervalle de valeurs -128 … … … … floatdouble Taille (en bits)3264 Exemple4.2f4.2 Les types numériques entiers Les types numériques flottants

22 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA22 JAVA: Syntaxe Les types des variables Le type booléen Le type caractère peut prendre deux valeurs true false Ex: boolean trouve = true; Permet de gérer les caractères. Un caractère est placé entre simples quottes. Ex: char unChar = A;

23 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA23 JAVA: Syntaxe Les types des variables Le type chaîne de caractères Comme son nom lindique, ce type permet de gérer les chaîne de caractères. Il sagit dune classe donc elle intègre des méthodes permettant dopérer sur la chaîne. Une chaîne est placée entre doubles quottes. Ex: String chaine = " Bonjour ";

24 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA24 JAVA: Syntaxe Les opérateurs Daffectation OpérateurExemple =i = 90 +=i += 20 -=i -= 10 *=i *= 2.5 /=i /= 10 %=i %= 10 ^=i ^= 2 Résultat i = 90 i = 100 i = 25 i = 110 i = 250 i = 5

25 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA25 JAVA: Syntaxe Les opérateurs De comparaison OpérateurSignification x > yStrictement supérieur x < yStrictement inférieur x >= ySupérieur ou égal x <= yInférieur ou égal x == yEgalité x != yDifférent OpérateurSignification x & yET binaire x ^ yOU exclusif binaire x | yOU binaire x && yET logique x || yOU logique x ? y : zOpérateur conditionnel

26 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA26 JAVA: Syntaxe Les opérateurs De transtypage ou de cast implicites pas de perte dinformation explicites passage dun type donné vers un autre moins précis

27 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA27 JAVA: Syntaxe Les structures de contrôle Les boucles while (boolean) { … // bloc dinstructions … } do { … // bloc dinstructions … } while (boolean)

28 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA28 JAVA: Syntaxe Les structures de contrôle Les boucles for (initialisation; condition; modification) { … // bloc dinstructions … } Exemple: for (i = 0; i < 10; i++) {…} for (int j = 10; j > 0; j - -) {…} for ( ; ; ) {…}

29 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA29 JAVA: Syntaxe Les structures de contrôle Les branchements conditionnels if (boolean) { … } else if (boolean) { … } else { … } switch (variable) { case argument: …; break; case argument: …; break; default: …; }

30 Linda OUERFELLI & Meherzia LAGHA Modificateur Nom de la classe public class Personne { private String nom; private String prenom; private int age; … // autres attributs public Personne () { nom = " "; prenom = " "; age = 0; } public String getNom(){ return this.nom; } … // autres méthodes } 01/04/2010Cours POO & Langage JAVA30 JAVA: Syntaxe Déclaration de classe Déclaration des attributs Définition des méthodes

31 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA31 JAVA: Syntaxe Modificateurs de classe ModificateurSignification PublicLa classe est accessible partout. PrivateLa classe nest accessible que du fichier où elle a été définie. AbstractLa classe contient des méthodes abstraites. Elle ne peut pas être instanciée. FinalLa classe ne peut pas être redéfinie.

32 Linda OUERFELLI & Meherzia LAGHA public class Personne { private String nom; private String prenom; private int age; public Personne () { nom = " "; prenom = " "; age = 0; } public String getNom(){ return this.nom; } 01/04/2010Cours POO & Langage JAVA32 JAVA: Syntaxe Exemple de classe public void setNom(String n){ nom = n; } public String getPrenom(){ return this.prenom; } public void setPrenom(String p){ prenom = p; } public int getAge (){ return this.age; } public void setAge(int a){ age = a; }

33 Linda OUERFELLI & Meherzia LAGHA public Static void main(String[] args){ Personne a = new Personne(); a.setNom ("Ben Foulen " ); a.setPrenom (" Foulen "); a.setAge(25); System.out.println(" Le nom est " + a.getNom()+ ", le prénom est " + a.getPrenom() + " et lâge est " + a.getAge() + " ans. "); } 01/04/2010Cours POO & Langage JAVA33 JAVA: Syntaxe Exemple de classe Le nom est Ben Foulen, le prénom est Foulen et lâge est 25 ans.

34 Linda OUERFELLI & Meherzia LAGHA Concepts de Base: Encapsulation PublicPrivate Classe La classe peut être utilisée dans nimporte quelle classe Attribut Lattribut accessible directement depuis le code de nimporte quelle classe Attribut accessible uniquement dans le code de la classe qui le définit Méthode Méthode pouvant être invoqué depuis le code de nimporte quelle classe Méthode utilisable uniquement dans le code de la classe qui la définit 01/04/201034Cours POO & Langage JAVA

35 Linda OUERFELLI & Meherzia LAGHA Concepts de Base: Héritage classe Etudiant { Attributs: Nom Prénom Age Filière Etablissement Requêtes: Quel est son nom? Quel est son prénom? Quel est son âge? Quelle est son adresse? Quelle est sa filière? Opérations: Modifier le nom Modifier le prénom Modifier lâge AfficherInfos Modifier la filière ……….} 01/04/201035Cours POO & Langage JAVA classe Personne{ Attributs: Nom Prénom Age Requêtes: Quel est son prénom? Quel est son nom Quel est son âge? Opérations: Modifier le nom Modifier le prénom Modifier lâge AfiicherInfos } Objet Etudiant Objet Personne Extends

36 Linda OUERFELLI & Meherzia LAGHA Concepts de Base: Redéfinition 01/04/201036Cours POO & Langage JAVA class Personne { ……………. Public void AfficherInfos() {System.out.println(" Mon nom est "+nom); System.out.println(" Mon prénom est "+prenom); System.out.println(" Jai "+ age+ "ans "); } ……………………….. }//Fin classe Public void AfficherInfos() {System.out.println(" Mon nom est "+nom); System.out.println(" Mon prénom est "+prenom); System.out.println(" Jai "+ age+ "ans ");} class Etudiant extends Personne {…………………….. Public void AfficherInfos() {System.out.println(" Mon nom est "+nom); System.out.println(" Mon prénom est "+prenom); System.out.println(" Jai "+ age+ "ans "); System.out.println("Ma filière est "+filiere); } ………………………..}//Fin classe super.AfficherInfos();

37 Linda OUERFELLI & Meherzia LAGHA Concepts de Base: Redéfinition 01/04/2010Cours POO & Langage JAVA37 On peut aussi redéfinir les attributs publiques hérités public class Produit {/ /Déclaration des attributs public float tva; ………… } Public class ProduitAlimentaire extends Produit {/ /Déclaration des attributs public int tva; …………. } Il est déconseillé de redéfinir les attributs Redéfinition de lattribut tva

38 Linda OUERFELLI & Meherzia LAGHA Concepts de Base: Surcharge 01/04/201038Cours POO & Langage JAVA public class Personne {………… public void AfficherInfos() {System.out.println(" Mon nom est "+nom); System.out.println(" Mon prénom est "+prenom); System.out.println(" Jai "+ age+ "ans "); } public void AfficherInfos(int CIN) { return("CIN:" +CIN+ "Mon nom est "+nom+ Prenom+ ", et jai "+age);} }//Fin classe

39 Linda OUERFELLI & Meherzia LAGHA Question 01/04/2010Cours POO & Langage JAVA39 public class Produit { private double prix; public double QuelPrix() {return prix;} …. } public class ProduitAlimentaire extends Produit { public double QuelPrix(int qtt) {return (prix*qtt);} } public class ProduitAlimentaire extends Produit { public double QuelPrix(int qtt) {return (prix*qtt);} } public class ProduitPharmaceutique extends Produit { public double QuelPrix() {return (super.prix*0.2);} } public class ProduitPharmaceutique extends Produit { public double QuelPrix() {return (super.prix*0.2);} } Surcharge Redéfinition

40 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA40 Concepts de Base: Polymorphisme Est la possibilité pour une méthode ou fonction dêtre appelée dans des contextes différents selon la situation. public class Mere { public void meth(){ System.out.println(" classe mère "); }

41 Linda OUERFELLI & Meherzia LAGHA 01/04/2010Cours POO & Langage JAVA41 Concepts de Base: Polymorphisme public class Fille extends Mere { public void meth(){ System.out.println(" classe fille"); } public Static void main(String[] args){ Mere m = new Mere(); m.meth(); Fille f = new Fille(); f.meth(); Mere m1 = f; m1.meth(); } classe mère classe fille


Télécharger ppt "Cours Programmation Orientée Objet et Langage Java Equipe Pédagogique: Institut supérieur de gestion de Tunis 2009-2010 Linda OUERFELLI"

Présentations similaires


Annonces Google