Programmation Orientée Objet I. Introduction

Slides:



Advertisements
Présentations similaires
CHAftITREI ARCHITECTURE de BASE. Modèle de Von Neumann Langage d’assemblage1 John Von Neumann est à l'origine d'un modèle de machine universelle de traitement.
Advertisements

1 Programmation Orientée Objet ● Qu'est-ce qu'un objet ● Collaboration des objets ● Les classes ● Relations entre les classes – “Utilise”, “Contient”,
Logiciel Assistant Gestion d’Événement Rémi Papillie (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
CINI – Li115 1 Semaine 11 Les pointeurs (suite) ● Tableaux et pointeurs ● Questions sur les pointeurs.
1 Programmation en C++ Cycle de vie ● La vie d'un objet ● Destructeur ● Gestion de mémoire dynamique.
DIAGRAMME DE DEPLOIEMENT Exposé de: MBALLA MEKONGO Michèle MBOUNA FEUZE William SIEYADJEU Alex Lionel CHOPGWE Leonard NDUMATE Landry TIDJON Lionel.
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Université d’Adrar Diagramme d’états-transitions Présenté par Sbai Omar Benothman.
UE2 - M22 Licence acoustique
Javascript 1° PARTIE : LES BASES
Cross-Plateform Cours JavaScript
La technologie des mémoires
JAVA.
LES TABLEAUX EN JAVA.
Session 1 6 mars 2017 Plateforme ICONICS Justine Guégan
Détection des erreurs.
Les Bases de données Définition Architecture d’un SGBD
Algorithmique demander jeu du pendu.
MOT Éditeur de modèles de connaissances par objets typés
Ajouter le code dans une page html
Initiation aux bases de données et à la programmation événementielle
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
L’Instruction de Test Alternatif
Généralité sur les bases de données
Javadoc et débogueur Semaine 03 Version A16.
Les Instructions – Organigramme
Principes de programmation (suite)
Tableaux à plusieurs dimensions en langage C
Fonctions logiques et algèbre booléenne
Virtualisation d’applications mobiles dans un réseau de Cloudlets
Algorithmique & Langage C
Codification et Représentation de l’information
Algorithmique & Langage C IUT GEII S1 Notes de cours (deuxième partie)
Documentation technique (Linux)
Présentation des EJB Enterprise Java Beans.
Notion De Gestion De Bases De Données
Création Et Modification De La Structure De La Base De Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Programmation en C++ C++ de base
PROGRAMMATION ET ENSEIGNEMENT
Programmation Orientée Objet
Programmation Android Bases De Données, SQL-lite
Formation sur les bases de données relationnelles.
Développement d’applications interactives
Integrated Business intelligence
Diagrammes UML 420-KE2-LG.
Programmation Android Première application Android
Révision du format des données
Assembleur, Compilateur et Éditeur de Liens
B.Shishedjiev - Informatique
„La plate-forme EAI “ Initiation à WBI
Semaine #2 INF130 par Frédérick Henri.
Programmation procédurale Introduction en JavaScript
EPITECH 2009 UML EPITECH 2009
PRO1026 Programmation et enseignement
Programmation par Objets et Java
H. Wertz -- Exécution Symbolique
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
PROGRAMMATION ET ENSEIGNEMENT
Le langage C# : Partie 1.
Introduction à L’Informatique
Arbre binaire.
SQL Structured Query Language
Jérôme CUTRONA PHP objet Jérôme CUTRONA 08:30:34 Programmation Web
Enseignement de Spécialité (EdS) classes de Première et Terminale
Python Nicolas THIBAULT
Type Tableau Partie 1 : Vecteurs
MOT Éditeur de modèles de connaissances par objets typés
Transcription de la présentation:

Programmation Orientée Objet I. Introduction Par Mr. A.Bouridah Centre universitaire de Mila

Présentation de Java Le paradigme objet L'essentiel du langage de Java Classes Objets Présentation de Java L'essentiel du langage de Java Variables Operateurs Commandes basiques

Paradigmes de Programmation Un paradigme de programmation correspond a une manière de modéliser le monde. Il existent plusieurs paradigmes : programmation impérative (ex. : Pascal, C, Fortran) ; programmation fonctionnelle (ex. : Scheme, Lisp) ; programmation logique (ex. : Prolog) ; programmation orientée objet (ex. : C++, Java). Dans le paradigme objet : Le monde est modélisé comme un ensemble d'objets. Les objets ont un état interne et un comportement. Ils collaborent en s‘échangeant des messages.

Object? Toute entité identifiable, concrète ou abstraite. Ex. : stylo, table, ordinateur, vélo, logiciel. Deux caractéristiques importantes : Etat Comportement L'objet vélo : Etats : vitesse, couleur, direction, etc. Comportements : accélérer, s‘arrêter, tourner à droite, etc.

Concepts des langages orienté objet Concept de base de la programmation orientée objet : la classe Une classe modélise la structure statique (données membres) et le comportement dynamique (méthodes) des objets associes a cette classe. Un objet d'une classe est appelé une instance. Une classe est la description d'un objet. Chaque objet est crée a partir d'une classe (avec l'operateur new). NB: Ces nouveaux concepts sont utilisées en même temps que toutes les notions de la programmation impérative (vue en première année) ex. Variable, affectation, boucle, type natif.

Notion d'objet en programmation Un objet a : une identité (nom) : adresse en mémoire un état : la valeur de ses attributs (attribut peut être tout simplement une variable) un comportement : ses méthodes (procédures et fonctions)

Classes d'objets Une définition abstraite selon laquelle les objets sont crées (un type d'objet). Ex. : la classe des vélos, la classe des stylos En programmation: Une classe et le programme d’un de plusieurs objets à l’état statique (code source, avant exécution). C’est le modèle à partir duquel les objets sont crées.

Présentation de Java

Une technologie développe par SUN MicrosystemTM lance en 1995 Un langage de programmation Une plateforme, environnement logiciel dans lequel les programmes java s‘éxécutent Présent dans de très nombreux domaines d'application : des serveurs d'applications aux téléphone portables et cartes a puces (JME)

Selon Sun Java est un langage simple, oriente objet, distribue, robuste, sûr, indépendant des architectures matérielles, portable, de haute performance, multithread et dynamique

Robuste: Typage des données très strict Pas de pointeur : Un débordement de tableau déclenchera automatiquement une exception. L'absence d'arithmétique de pointeur évite les malversations. Sûr: Java n'est pas compile à destination d'un processeur particulier mais en byte code" qui pourra être ensuite interprété sur une machine virtuelle (JVM = Java Virtual Machine). Le byte code" généré est vérifie par les interpréteurs java avant exécution.

Portable: Les types de données sont indépendants de la plate forme (par exemple les types numériques sont définis indépendamment du type de plate forme sur laquelle le byte code sera interprétée). Haute performance: Discutable car java est un langage pseudo interprété. Techniques de « Just in Time » (JIT) peuvent améliorer ces performances

Multi thread: Une applications peut être décomposée en unîtes d’exécution fonctionnant simultanément Dynamique: Les classes Java peuvent être modifiées sans avoir a modifier le programme qui les utilise Politique: Java est actuellement totalement contrôle par SUN (racheter par Oracle)

Plusieurs (variantes) Java Java EE : « Enterprise Edition » Rajoute certaines API et fonctionnalités pour les entreprises. Java ME : « Micro Edition » Edition qui sert a écrire des applications embarquées Ex. : téléphone portable, carte a puce Java SE : « Standard Edition » : JRE : « Java Runtime Environment » Contient la plate-forme Java (JVM + API). JDK : « Java Development Kit » Contient le langage de programmation et la plate-forme (compilateur + JVM + API).

Plate-forme Java La plate-forme est le matériel « hardware » et/ou l'environnement logiciel dans lequel un programme s’exécute. La plate-forme Java est un environnement logiciel, composée de deux parties : API : (Application Programming Interface) grande collection de composants logiciels qui offrent de nombreuses fonctionnalités. JVM : (Java Virtual Machine) le logiciel qui interprète le bytecode génère par le compilateur Java.

Plate-forme Java (suite) Un programme Java est exécuté par la JVM, qui s'utilise de l'API. Système d’exploitation Architecture Hardware JVM API Programme

Syntaxe de base du langage Java

La syntaxe du langage JAVA a été inspiré de celui du langage C: Déclaration de variables, nom de types, Boucles, Fonction et procédure (Méthodes), affectation, etc. Néanmoins, il existe des différence au niveau sémantique: En Java, les types sont statiques (statically-typed language) et toute variable doit être déclarée avant son utilisation. Lors des affectation il faut faire attention aux types car JAVA est fortement typé (Casting est nécessaire).

Type de données prédefinis byte -(2)7, 27-1 -128, 127 short -215, (215)-1 -32768, -32767 int -231, (231)-1 -2147483648, -2147483647 long - 263, (263)-1 -9223372036854775808, 9223372036854775807 Les entiers peuvent être exprimes en octal (0323), en décimale (311) ou en hexadécimal (0x137).

Nombres réels foat simple précision sur 32 bits double précision sur 64 bits Représentation des réels dans le standard IEEE 754. Un suffixe f ou d après une valeur numérique permet de spécifier le type. Exemple: double x = 154.56d; foat y = 23.4f; foat f = 23.65; //Erreur

Type de données prédéfinis Boolean: - Valeurs true ou false - Un entier non nul est également assimible a true - Un entier nul est assimible a false Char: - Une variable de type char peut contenir un seul caractère - sur 16 bits (jeu de caractères 16 bites Unicode contenant 34168 caractères)

Types primitifs En Java, les types sont statiques (statically-typed language) et toute variable doit être déclarée avant son utilisation. Attention : les valeurs par défaut ne sont pas affectes aux variables locales !! Chaînes de caractères: Les chaînes de caractères sont manipulées par la classe String (ce n'est donc pas un type de données primitif).

Chaînes de caractères Java fournit un support spécial aux chaînes des caractères. Exemple de déclaration : String s ="Bonjour"; La valeur initiale d'une variable du type String est null (ainsi que pour toutes les variables dont leur type est une classe d'objets). Mais attention!! Techniquement, String n'est pas un type primitif. Il s'agit d'une classe du paquetage java.lang. Les opérations se font via les méthodes de la classe String.

Les tableaux Les tableaux peuvent être déclarés suivant les syntaxes suivantes : type [] nom ; Exemples : int[] table; double [] d1,d2 ; Pas de tableau statique. La taille d'un tableau est allouée dynamiquement par l'operateur new table = new int [10] ; int[] table2 = new int [20] ; int[] table3 = {1,2,3,4,5} ;

La taille n'est pas modifiable et peut être consultée par la propriété length System.out.println (table3.length) ; IL existe des méthodes (fonctions) qui permettent de manipuler les tableaux (copier=arraycopy etc.)

Exemple

Opérateurs par ordre de priorité

Opérateurs : Remarques Operateur ++ (resp. --) préfixé évalue l'expression avant l'incrémentation (resp. décrémentation) Operateur + est utilise aussi pour la concaténation des Strings.

Instructions de base Affectation : Variable = Expression ; Bloc d’instructions (BolcInstructions ): { Instruction; ... ; }

Contrôle de fux : if ( Expression ) BolcInstructions if ( Expression ) BolcInstructions else BolcInstructions switch (expression entière ou caractère) { case ExpConstante : BolcInstructions... [default : BolcInstructions ] } while (expression booléenne) BolcInstructions

do BolcInstructions while (expression booléenne) ; for (initialisations ; expression booléenne ; mises à jour) BolcInstructions Commandes de ramification : break [Identicateur] ; continue [Identicateur] ; return [Expression] ;