Département GE1 MC S3. Programmation Orientée Objet Python



Documents pareils
Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

Programmer en JAVA. par Tama

Objets et Programmation. origine des langages orientés-objet

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Initiation à JAVA et à la programmation objet.

UML. Diagrammes de classes (suite) Delphine Longuet.

Présentation du langage et premières fonctions

as Architecture des Systèmes d Information

Initiation à la programmation en Python

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Les classes en Python

Cours 3 : Python, les conditions

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Gestion Projet. Cours 3. Le cycle de vie

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

PHP 5.4 Développez un site web dynamique et interactif

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

TP 1. Prise en main du langage Python

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

STAGE IREM 0- Premiers pas en Python

Programmation en Java IUT GEII (MC-II1) 1

Programmation Orientée Objet

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

INITIATION AU LANGAGE JAVA

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Langage Java. Classe de première SI

BTS S.I.O PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Les formations de remise à niveau(!) l'entrée des licences scientifiques. Patrick Frétigné CIIU

Statistique : Résumé de cours et méthodes

Chapitre 2. Classes et objets

Programmation Web. Madalina Croitoru IUT Montpellier

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Perl Orienté Objet BioPerl There is more than one way to do it

Corrigé du baccalauréat S Pondichéry 12 avril 2007

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Introduction à MATLAB R

.NET - Classe de Log

et Programmation Objet

Bernard HAMM, Évelyne LAVOISIER

Classes et Objets en Ocaml.

30.avr.10 Présentation miniprojet. 9.mars.10 Cours 3 4.mai.10 Cours C mars.10 Cours 4 11.mai.10 Cours C++ 2

Une introduction à Java

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Corrigé du baccalauréat S Asie 21 juin 2010

Support de cours et TD Programmation Orientée Objet

Licence Sciences et Technologies Examen janvier 2010

Génie Logiciel avec Ada. 4 février 2013

M1 : Ingénierie du Logiciel

Diagramme de classes

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Introduction au langage C

Java Licence Professionnelle CISII,

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

DRUPAL Réalisez des développements professionnels avec PHP (2ième édition)

Exonet : sauvegarde automatisée d une base de données

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Plan Pédagogique du cours

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Initiation à l algorithmique

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com 04/09/2008

Java Licence Professionnelle CISII,

Algorithmique avec Algobox

Présentation du PL/SQL

Héritage presque multiple en Java (1/2)

Cours 14 Les fichiers

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Chapitre VI- La validation de la composition.

Développement itératif, évolutif et agile

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

L AUTOMATISME LE SIGNAL

Algorithmique & programmation

Programmation MacOSX / ios

Chapitre 2 Devine mon nombre!

Représentation d un entier en base b

La programmation orientée objet et le langage C++

LA PLATE-FORME D'ALTERN C

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

L informatique en BCPST

Java 1.5 : principales nouveautés


Programmation Agile Mise en oeuvre via Scrum et l'extreme Programming (XP)

4. Groupement d objets

Cours Programmation Système

25/12/2012

Transcription:

Département GE1 MC S3 Programmation Orientée Objet Python N. Liebeaux (c) IUT CACHAN 2008

Python en 1 diapo Règles de syntaxe langage interprété typage dynamique des données les «deux points» blocs découpés par l'indentation types de données nombres entiers & flottants chaînes " " listes [ ] Contrôle de Flux for, while if, else, elif Les Fonctions utilisation de def et «:» passage de paramètres return renvoie le résultat

Introduction : objet, classe et instanciation Objet : entité évoluée associée à des données et des fonctions (appelées méthodes) qui lui sont propres. Une Classe est le moule qui permet de créer l'objet, ou les objets. L'opération de création d'un nouvel objet à partir d'une classe est appelée instanciation. class rectangle(): "cette classe définit les rectangles" >>> rect1 = rectangle() >>> print rect1 >>> print rect1. doc instanciation doc est une méthode

piège >>> r2 = r1 >>> print r2==r1 >>> print r1 >>> print r2 >>> r2 = rectangle() >>> print r2==r1 >>> print r1 >>> print r2 r2 est un alias de r1 portant sur le même objet. piège bis >>> liste1 = [1,2,3,"a","b","z"] >>> liste2 = [1,2,3,"a","b","z"] >>> print liste1,liste2 >>> print liste2[5]="c" >>> print liste1,liste2

constructeur class rectangle(): "cette classe instancie des rectangles" def init (self, dim1, dim2): self.longueur = dim1 self.largeur = dim2 la fonction init est le constructeur. C'est la méthode qui "construit" l'objet lors du premier appel notez l'usage du mot réservé self. la méthode init nécessite ici deux paramètres (et non pas 3), correspondant aux dimensions du rectangle.

exemple >>> r1 = rectangle() >>> r1 = rectangle(2,3) >>> print r1.longueur >>> print r1.largeur encapsulation un objet porte en lui-même ses données et ses méthodes : c'est l'encapsulation. avec ce concept, l'objet est utilisé via ses méthodes, peu importe pour l'utilisateur de connaître le contenu (le code) des dites méthodes. syntaxe objetinstancié.méthode()

encapsulation class rectangle(): "cette classe instancie des rectangles" def init (self, dim1, dim2): self.longueur = dim1 self.largeur = dim2 def calculeraire(self): print "Aire ",self.dimensions," :" return self.longueur*self.largeur

héritage class carre(rectangle): "cette classe instancie des carrés" def init (self, dim1): rectangle. init (self,dim1, dim1) une classe mère peut donc dériver plusieurs classes filles. C'est la classe parente. idée de spécialisation de la classe fille.

polymorphisme class carre(rectangle): "cette classe instancie des carrés" def init (self, dim1): rectangle. init (self,dim1, dim1) def calculaire(self): print "on travaille avec un carré" print self.longueur*self.largeur Polymorphisme = plusieurs méthodes de même nom dans les classes filles. la méthode calculaire est définie dans la classe rectangle. la méthode calculaire est définie dans la classe carré. On parle alors de surcharge.

exercice corrigé 1/ - proposer une structure de classe point : coordonnées x et y. 2/ - proposer une structure de classe vecteur. 3/ - proposer une méthode permettant de calculer le produit scalaire. 4/ - proposer une méthode permettant de vérifier si deux vecteurs sont orthogonaux. conclusion Classes filles peuvent : étendre les concepts de la classe parente (ex: points vecteurs) Affiner les concepts de la classe parente (ex: rectangle carré)

exercice 1/ - proposer une structure de classe individu : nom,prénom, date de naissance. 2/ - proposer une structure de classe étudiant : bac, notes par matière. 3/ - proposer une méthode permettant de calculer l'age d'un individu, 4/ - proposer une méthode permettant d'ajouter une note. 5/ - proposer une méthode de calcul de moyenne générale des notes.

évaluation du projet Travail en binôme Fiches de suivi, avec numéros de versions, tests unitaires et progressions. Test individuel de fin de Module. rappels sur la programmation XP Pratiques ««Développement Développeur «Métier»»» Codez Adoptez Ajoutez et un le concevez développement client à avec l'équipe simplicité piloté par les tests Pratique Programmez Jouez le jeu la restructuration de en la binôme planification (optimisation du code) Développez Adoptez Livrez régulièrement la propriété des standards collective de développement du code Développez Intégrez Travaillez continuellement à un rythme vocabulaire raisonnable commun

évaluation du projet Travail en binôme Fiches de suivi, avec numéros de versions, tests unitaires et progressions. Test individuel de fin de Module. rappels sur la programmation XP Pratiques ««Développement Développeur»» Codez Adoptez et le concevez développement avec simplicité piloté par les tests Pratique Programmez la restructuration en binôme (optimisation du code) Développez Adoptez la propriété des standards collective de développement du code Développez Intégrez continuellement un vocabulaire commun

évaluation du projet Travail en binôme Fiches de suivi, avec numéros de versions, tests unitaires et progressions. Test individuel de fin de Module. rappels sur la programmation XP Pratiques «Développement» Codez et concevez avec simplicité Pratique la restructuration (optimisation du code) Développez des standards de développement Développez un vocabulaire commun

le Projet du MC objectifs premiers Mise en oeuvre des techniques «Objet». Aucune interface graphique (tout en mode texte) Jeu Humain VS Humain objectifs secondaires Interface graphique Mise en place d'une IA : jeu Humain VS PC