Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parBathylle Rodrigues Modifié depuis plus de 10 années
1
Cours Programmation Orientée Objet et Langage Java
01/04/2010 Institut supérieur de gestion de Tunis Cours Programmation Orientée Objet et Langage Java Equipe Pédagogique: Linda OUERFELLI Meherzia LAGHA Cour POO et Java
2
Objectifs Présenter le langage Java
01/04/2010 Objectifs Présenter le langage Java Introduire les notions de base de la Programmation Orientée Objet Présenter l’intérêt de la Programmation orientée Objet Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
3
01/04/2010 Bibliographie Eric Sigoillot(25/07/2004), ,(consulté le 22/03/2010) Site web du Laboratoire d’Informatique de Robotique et de Microélectronique de Montpelier, nOO.pdf, (consulté le 22/33/2010) Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
4
Bibliographie 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 Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
5
Plan Introduction Généralités Origines de la POO Définitions
Les ABC du langage JAVA Histoire Caractéristiques Syntaxe Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
6
Présentation des Concepts
Plan Présentation des Concepts Encapsulation Héritage Redéfinition Surcharge Polymorphisme Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
7
Généralités Structurée Modulaire Procédurale Évènementielle "Sauvage"
Parallèle ………………….. Que ce qu’un paradigme?? Paradigme: la façon ou la manière avec laquelle on traite les problèmes informatiques, en utilisent un langage de programmation(l’équivalent en génie logicielle de la méthodologie) Types de Paradigme: Structurée: Dans cette programmation, on emploie des instances de contrôle normalisées grâce auxquelles le code est simplifié. Ex: C, Pascal Modulaire: Un ensemble d’éléments qui sont conçu et programmé pour etre rassemblé selon les besoins. Procédurale: On définit plusieurs sous programmes qui peuvent etre utilisés dans plusieurs points d’un même programme informatique dit programme principal ou dans plusieurs programmes. Ex: Cobol, C Évènementielle: Le programme réagit à une suite d’action réalisés par un utilisateur Ex: VB Sauvage: C’est déconseillé Parallèle: Les différentes opérations sont effectuées d’une façon parallèle en utilisent plusieurs unités de calcul le but est d’effectué le maximum de taches dans un temps très réduit. Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
8
Origines Fin des années 50 début des années 60 Début des Années 50
01/04/2010 Origines Fin des années 50 début des années 60 Début des Années 50 Années 70 Années 80 … Langages Bas niveau Ex: langage binaire, langage assembleur Langage de plus haut niveau Ex: Fortran, Cobol Langages de programmation structurée Ex: Pascal, C Langage orientées Objet Ex: Java, C++ Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
9
Programmation Orientée Objet
01/04/2010 Origines En langage C Suite d’instructions organisées en une collection de fonctions qui s’appellent Programmation Orientée Objet Main F2 F3 F4 F1 struct nom_type {déclaration des champs} liste_variables ; Int Char Struct Personne{char nom[30]; char prénom[30]; int age;} sami, mohamed; Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
10
Programmation Structurée
01/04/2010 Origines Objets Procédures, fonctions Action => entités Programmation Structurée Programmation Objet Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
11
Entité abstraite définie par son état et son comportement
01/04/2010 Définitions Objet Entité abstraite définie par son état et son comportement Exemples Véhicule Maison Personne Table Rectangle …………… Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
12
Définitions Attribut Propriété Exemple Objet: Personne Attributs:
01/04/2010 Définitions Attribut Propriété Exemple Objet: Personne Attributs: Numéro CIN Nom Age Adresse Taille Profession …………. Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
13
Classe classe Personne{ Attributs: Nom Prénom Age
01/04/2010 Classe 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 } Personne1{ nom:Mohamed; Prénom: Ali; Age: 23 ans} Personne2{ nom:Sami; prénom: Laabidi; age: 45ans} Personne3{ nom: Mahdi; prénom: Cherif; age: 60ans} Classe: Un classe elle regroupe l’ensembles d’objets ayant les mêmes caractéristiques Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
14
Les accesseurs Les modificateurs Méthode Personne1{ nom:Mohamed;
01/04/2010 Méthode Les accesseurs Personne1{ nom:Mohamed; Prénom: Ali; Age: 23 ans} Quel est le nom de Personne1? Mohamed Les modificateurs Personne1{ nom:Mohamed; Prénom: Ali; Age: 23 ans 26 ans} Age=26 ans Fonction ou procédure rattachée à l’objet qui détermine son comportement. Les accesseurs: récupéré la valeur de l’attribut Les modificateurs: Modifier la valeur de l’attribut Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
15
JAVA: Histoire Cours POO & Langage JAVA 01/04/2010 1991
Présentation d’OAK 1992 Construction PDA (Star 7) 1993 Lancement de MOSAIC Adaptation d’OAK à internet 1994 Renommé JAVA 1995 Navigateur Hot JAVA Sortie JDK 1.0 B OAK = chêne : langage pour la communication des appareils électroniques MOSAIC 1er navigateur web 1996 sortie netscape2 et Explorer 3 Cours POO & Langage JAVA 01/04/2010
16
JAVA: Histoire Cours POO & Langage JAVA 01/04/2010
1996 Animation JAVA pour les pages web 1998 Sortie de la plateforme JAVA 2 2002 Sortie JDK 1.4 2006 Passage sous libre licence Sortie JAVA 6 OAK = chêne : langage pour la communication des appareils électroniques MOSAIC 1er navigateur web 1996 sortie netscape2 et Explorer 3 Cours POO & Langage JAVA 01/04/2010
17
JAVA: Caractéristiques
Orienté Objet Portable Simple Interprété JAVA Multitâches Fortement typé Simple: plus de notions complexes tel que les pointeurs + sémantique précise OO: intègre la notion de classe et objet Portable: le code est indépendant de la machine il n’est pas nécessaire de fournir le code source juste le BYTECODE à la condition qu’il ne contient pas de code spécifique à une plateforme particulière. Interprété: le code source est compilé en pseudo-code ou Bytecode puis interprété par la JVM Multitâches: donne la possibilité d’exécuter des processus concurrents Économe: le pseudo-code a une taille relativement petite les biblio ne sont liées qu’à l’exécution Sûr: il ne peut y avoir d’accès direct à la mémoire Gère la mémoire: permet de récupérer la mémoire inutilisée grâce aux garbage collector Fortement typé: pas de conversion automatique que par un cast ou une méthode statique préalablement fournie Économe Gère la mémoire Sûr Cours POO & Langage JAVA 01/04/2010
18
JAVA: Syntaxe Convention de codage
Un nom de classe ou interface doit commencer par une majuscule. Ex: classe Point Un nom d’attribut 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. Cours POO & Langage JAVA 01/04/2010
19
JAVA: Syntaxe Les commentaires Sur plusieurs lignes
Sur une seule ligne Commentaire Javadoc Cours POO & Langage JAVA 01/04/2010
20
JAVA: Syntaxe int i = 0; Type Nom de la variable
Déclaration des variables Type int i = 0; Nom de la variable La déclaration et l’initialisation d’une variable peut se faire en une seule ligne. Ex: int i = 0; La déclaration et l’initialisation d’une 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; Cours POO & Langage JAVA 01/04/2010
21
JAVA: Syntaxe Les types des variables Les types numériques entiers
byte short int long Taille (en bits) 8 16 32 64 Intervalle de valeurs -128 … 127 … 32767 -231 … -263 … 263-1 Les types numériques flottants Quelques syntaxes sont permises: notations exponentielles 3.4e10 Par défaut les valeurs flottantes sont considérées comme double spécifier un float avec le f après la valeur float double Taille (en bits) 32 64 Exemple 4.2f 4.2 Cours POO & Langage JAVA 01/04/2010
22
JAVA: Syntaxe Les types des variables Le type booléen true
peut prendre deux valeurs Ex: boolean trouve = true; false Le type caractère Ex: char unChar = ‘A’; Permet de gérer les caractères. Un caractère est placé entre simples quottes. Cours POO & Langage JAVA 01/04/2010
23
JAVA: Syntaxe Les types des variables Le type chaîne de caractères
Comme son nom l’indique, ce type permet de gérer les chaîne de caractères. Il s’agit d’une classe donc elle intègre des méthodes permettant d’opérer sur la chaîne. Une chaîne est placée entre doubles quottes. Ex: String chaine = " Bonjour "; Cours POO & Langage JAVA 01/04/2010
24
JAVA: Syntaxe Les opérateurs D’affectation Opérateur Exemple Résultat
= i = 90 i = 90 += i += 20 i = 110 -= i -= 10 i = 100 *= i *= 2.5 i = 250 /= i /= 10 i = 25 %= i %= 10 i = 5 ^= i ^= 2 i = 25 Cours POO & Langage JAVA 01/04/2010
25
JAVA: Syntaxe Les opérateurs De comparaison Opérateur Signification
x > y Strictement supérieur x < y Strictement inférieur x >= y Supérieur ou égal x <= y Inférieur ou égal x == y Egalité x != y Différent Opérateur Signification x & y ET binaire x ^ y OU exclusif binaire x | y OU binaire x && y ET logique x || y OU logique x ? y : z Opérateur conditionnel Cours POO & Langage JAVA 01/04/2010
26
JAVA: Syntaxe Les opérateurs De transtypage ou de cast
implicites pas de perte d’information explicites passage d’un type donné vers un autre moins précis Exemple Implicite : int vers long explicite : double vers float double rslt; int x = 3, y = 2; rslt = x / y; rslt = 2.5 division entière rslt = (double) x / (double) y; rslt = 3.0 division réelle Cours POO & Langage JAVA 01/04/2010
27
JAVA: Syntaxe Les structures de contrôle while (boolean) { …
Les boucles while (boolean) { … // bloc d’instructions } do { … // bloc d’instructions } while (boolean) Pour la structure while le bloc d’instructions ne sera exécuté que si le boolean est vrai Ne pas mettre de ; après la condition sinon le corps ne sera jamais exécuté Pour la structure do…while le bloc sera exécuté au moins une fois Cours POO & Langage JAVA 01/04/2010
28
JAVA: Syntaxe Les structures de contrôle
Les boucles for (initialisation; condition; modification) { … // bloc d’instructions } Exemple: for (i = 0; i < 10; i++) {…} for (int j = 10; j > 0; j - -) {…} for ( ; ; ) {…} Cours POO & Langage JAVA 01/04/2010
29
JAVA: Syntaxe Les structures de contrôle switch (variable) {
Les branchements conditionnels switch (variable) { case argument: …; break; default: …; } if (boolean) { … } else if (boolean) { } else { } Cours POO & Langage JAVA 01/04/2010
30
JAVA: Syntaxe Nom de la classe Modificateur Déclaration des attributs
Déclaration de classe Modificateur 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 Déclaration des attributs Définition des méthodes Cours POO & Langage JAVA 01/04/2010
31
JAVA: Syntaxe Modificateurs de classe Modificateur Signification
Public La classe est accessible partout. Private La classe n’est accessible que du fichier où elle a été définie. Abstract La classe contient des méthodes abstraites. Elle ne peut pas être instanciée. Final La classe ne peut pas être redéfinie. Méthode abstraite: n’est pas défini Cours POO & Langage JAVA 01/04/2010
32
JAVA: Syntaxe nom = n; } return this.nom; 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; public class Personne { private String nom; private String prenom; private int age; public Personne () { nom = " "; prenom = " "; age = 0; } public String getNom(){ return this.nom; Cours POO & Langage JAVA 01/04/2010
33
JAVA: Syntaxe Personne a = new Personne(); }
Exemple de classe 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. "); } Le nom est Ben Foulen, le prénom est Foulen et l’âge est 25 ans. Cours POO & Langage JAVA 01/04/2010
34
Concepts de Base: Encapsulation
01/04/2010 Concepts de Base: Encapsulation Public Private Classe La classe peut être utilisée dans n’importe quelle classe Attribut L’attribut accessible directement depuis le code de n’importe 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 n’importe quelle classe Méthode utilisable uniquement dans le code de la classe qui la définit L’accés directe aux variables d’un objet est possible en JAVA mais il n’est pas recommandé car contraire au principe d’encapsulation. Les données d’un objet doivent être privées. Elle sont protégées et ne sont accessibles et surtout modifiables qu’à travers des méthodes prévues à cet effet. Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
35
Concepts de Base: Héritage
01/04/2010 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 ……….} 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 Mammifères hérite de Animal Enseignant hérite de Personne Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
36
Concepts de Base: Redéfinition
01/04/2010 Concepts de Base: Redéfinition class Personne { ……………. Public void AfficherInfos() {System.out.println(" Mon nom est "+nom); System.out.println(" Mon prénom est "+prenom); System.out.println(" J’ai "+ age+ "ans "); } ……………………….. }//Fin classe 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(" J’ai "+ age+ "ans "); System.out.println("Ma filière est "+filiere); } ………………………..}//Fin classe Public void AfficherInfos() {System.out.println(" Mon nom est "+nom); System.out.println(" Mon prénom est "+prenom); System.out.println(" J’ai "+ age+ "ans ");} super.AfficherInfos(); Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
37
Concepts de Base: Redéfinition
01/04/2010 Concepts de Base: Redéfinition On peut aussi redéfinir les attributs publiques hérités Il est déconseillé de redéfinir les attributs public class Produit {/ /Déclaration des attributs public float tva; ………… } Public class ProduitAlimentaire extends Produit {/ /Déclaration des attributs public int tva; …………. } Redéfinition de l’attribut tva On doit gardé exactement la mm entête Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
38
Concepts de Base: Surcharge
01/04/2010 Concepts de Base: Surcharge public class Personne {………… public void AfficherInfos() {System.out.println(" Mon nom est "+nom); System.out.println(" Mon prénom est "+prenom); System.out.println(" J’ai "+ age+ "ans "); } public void AfficherInfos(int CIN) { return("CIN:" +CIN+ "Mon nom est "+nom+ Prenom+ ", et j’ai "+age);} }//Fin classe Surcharge: On change sois le type des paramètres sois leur nombre Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
39
Question public class Produit { private double prix;
01/04/2010 Question public class Produit { private double prix; public double QuelPrix() {return prix;} …. } public class ProduitAlimentaire extends Produit { public double QuelPrix(int qtt) {return (prix*qtt);} } Surcharge public class ProduitPharmaceutique extends Produit { public double QuelPrix() {return (super.prix*0.2);} } Redéfinition Cours POO & Langage JAVA 01/04/2010 Cour POO et Java
40
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 "); } Cours POO & Langage JAVA 01/04/2010
41
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 Cours POO & Langage JAVA 01/04/2010
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.