Introduction à la programmation objet Langage Java

Slides:



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

Spécialisation/généralisation Héritage Polymorphisme
A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.
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 Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Introduction à la Programmation Orientée Objet Langage Java
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
(Classes prédéfinies – API Java)
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
IJA - TD 2 Bases du langage
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Principes de programmation (suite)
Introduction à la Programmation Orientée Objet Langage Java
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Démarche de résolution de problèmes
Langage Oriente Objet Cours 4.
Principes de programmation (suite)
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
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.
Classes abstraites et Interfaces
Introduction à la programmation (Java)
Langage Oriente Objet Cours 2.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
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.
Introduction à la programmation objet Langage Java
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
IFT 6800 Atelier en Technologies d’information
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Cours 4 Héritage (suite).
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
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é.
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.
4 Introduction des objets. Les chaînes et tableaux
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
Cours 1 1 Java. Cours 1 2 Plan général 1.Introduction 2.Les types primitifs, évaluation d’expressions 3.Instructions for, if…. 4.Introduction de l’objet,
La notion de type revisitée en POO
Cours 61 6 La sécurité, Portée, Visibilité Programmer avec sécurité.
11/04/ L'héritage Cours 7 Cours 7.
Programmation objet La base.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
12/04/ Le polymorphisme Cours 8 Cours 8.
Les tests.
Tutorat en bio-informatique
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 3 – Classes et objets en Java Master 1 SIGLIS1 Java Lecteur - Chapitre 3 Classes et objets en Java.
Strings et Tableaux en Java
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
Cours du 5 novembre.
IUT du Limousin L.U.P Michel Vergnaud Programmation Objet - Java.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
LES CLASSES ET LES OBJETS
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Transcription de la présentation:

Introduction à la programmation objet Langage Java SI3 et MAM3 Débutants programmation Déry Anne Marie : pinna@polytech@unice.fr http://courswiki.essi.fr/SI1/Prog101/Planning

A quoi sert la programmation ? Passer d’un problème réel à une résolution informatique calculs mathématiques gestion de commandes jeux Analyser le problème, concevoir une solution, l’écrire dans un langage informatique, l’exécuter sur une machine

Types de programmation / langages de programmation Programmation Procédurale : Pascal, C, Fortran Programmation Fonctionnelle : Lisp, Scheme… Logique : Prolog Objet : C++, Java …

Langages de programmation / Environnements de programmation Ecrire un programme, le transformer en code binaire, l’exécuter, le documenter, le tester…. En Java Editeur classique : emacs, kwrite et commandes systèmes BlueJ Eclipse

Objectifs du cours Apprendre les principes de base de la programmation objet (premier niveau) Apprendre les principes de base de l’algorithmique Etre capable d’écrire un code « propre » : lisible, maintenable, deverminable Savoir écrire un petit logiciel en Java

Contenu du cours Introduction aux objets Algorithmes de base Structure de données : tableau Listes Tris de données Qualité et tests de code

Objets/instances et classes Les objets (instances) représentent des entités du monde réel relatives au problème à traiter Une voiture rouge de marque Ferrari un carré de taille 4cm de côté Un échiquier de 16 cases Les classes représentent tous les objets Ce sont les modèles des instances Voiture Carré Echiquier Case Plusieurs instances peuvent être créées à partir d’une classe

Méthodes et attributs (variables d’instances) Des opérations peuvent être appliquées à des objets : ce sont les méthodes. On parle d’invocation de méthode Les méthodes ont des paramètres afin de passer des données à appliquer. accélérer (vitesse) maFerrari.accelerer(30); déplacer(distance) placer(unPion,uneCase) Les attributs (variables d’instances) sont les données stockées dans les instances La classe définit les méthodes (nom, liste de paramètres, algorithme…) Que fait la méthode accélérer ? (changer la vitesse de la voiture) Que fait la méthode déplacer ? (changer les coordonnées du carré) Que fait placer(Pion,Case) ? Vérifier si un Pion peut être placé sur une case et si oui l’affecter. La classe définit les attributs qui décrivent une instance; chaque instance ayant sa valeur propre. On parle de l’état d’un objet La couleur,la marque, la vitesse des voitures. Ma Ferrari est rouge et roule à 130 Les coordonnées et la taille d’un côté d’un carré….

Etat du Cercle circle1 Quel est le nom de la classe ? Quel est le nom de l’instance ? Quelles sont les variables d’instances ? Quel est leur type ? Attention : il y a des conventions de nommage

Instances d’une classe Comment crée-t-on une instance ? Comment modifier la valeur d’une variable d’instance de circle1 ? Comment afficher les positions du circle2 ? Donner des exemples de méthodes ?

Structure d’une méthode Une méthode a une entête et un corps L’entête définit la signature d’une méthode. public int getXPosition() public void showCoord() Le corps contient les lignes de code Nom de la méthode Liste de paramètres Type de retour visibilité

Structure d’une classe Nom de la classe public class Circle { // Variables d’instances : diameter, yPosition, xPosition // Constructeurs : Circle(int x, int y) // Méthodes : setYPosition(int y); printCoord() } Marqueurs du bloc de début et fin de la classe : {}

Variables d’instances public class Circle { private int xPosition; private int yPosition; private int diameter; private String color; private boolean isVisible; ……. } Visibilité : private, public, protected Une variable d’instance est toujours privée a priori Types de données : int, String, boolean, Circle Un type est soit un type de base soit une classe Java Standard soit une classe définie par le programmeur Nom de variable : Attention aux conventions de nommage Commence par une miniscule, séparation des mots par une majuscule

Constructeurs : initialisation des instances Ils ont le même nom que la classe Ils stockent les valeurs initiales des attributs le plus souvent grâce aux valeurs des paramètres public Circle(int x,int y) { xPosition = x; yPosition = y; diameter=5; color="blue" isVisible=true; } public Circle(int x,int y,String c,int diameter) diameter=this.diameter; color=c; Il peut y avoir plusieurs constructeurs dans une classe. Il y a un constructeur par défaut sans paramètre 5 instructions d’affectations this(x,y);

Instruction de création d’instances Création via BlueJ Nom attribué par BlueJ Instruction de création d’instances ATTENTION : les instances n’ont pas de nom en Java On les affecte à des variables : Voiture maFerrari=new Voiture("Ferrari", "rouge");

Méthodes accesseurs Un type de méthode spécifique Qui fournit les informations (valeurs des variables d’instances) d’un objet public int getXPosition() { return xPosition; } public String getColor() return color; Type de retour : int, String… La méthode renvoie une valeur correspondant au type de retour Nom de méthode : getXPosition, getColor ATTENTION Convention de nommage Liste de paramètres : vide l’information est dans l’instance on n’a pas besoin de données extérieures Marqueurs du Bloc de début et fin de la méthode : {} Visibilité : public Peut être utilisée à l’extérieur de la classe, dans une autre classe Instruction : instruction return Il y a toujours un return quand une méthode renvoie une valeur de retour C’est la dernière instruction exécutée

Méthodes mutator Méthode spécifique pour changer l’état d’un objet... – contient une instruction d’affectation : affectation des variables d’instances. – reçoit des paramètres : valeur à affecter . public void setXPosition (int x) { xPosition = x; } public void setColor(String x) color = x; Type de retour (void) : ne renvoie rien Nom de méthodes : setXPosition, setColor(String x) ATTENTION au convention de nommage Paramètres : int x, String x Visibilité : public Instruction : affectation d’une variable d’instances xPosition = x;

Affichage public void showCoord() { System.out.println(" Les coordonnées sont :"); System.out.println("  x : " + xPosition + " y: "   + yPosition ); } public String toString() return "  x : " + xPosition + " y: "   + yPosition + " diamètre: "   + diameter + " couleur: "   + color; } …. System.out.println(circle1); System.out.println(circle1.toString()); Instruction d’écriture Concaténation de chaines Méthode prédéfinie pour l’affichage d’une instance

Hors BlueJ : les Tests Exemple : Pour tester la classe Point Ecrire une méthode main dans la classe Point ou dans une classe TestDePoint (condition réelle de l’usage) de sorte qu’il y ait : Création d’instances de cette classe : (Tests des constructeurs) Affichage des instances créées (Tests des constructeurs et de la méthode toString) Appels des méthodes en faisant varier la valeur des paramètres sur ces instances (Test des méthodes publiques) Affichage des retours des méthodes pour voir les tests

Exemple de tests pour Point public static void main(String[] argsv) { Point origine = new Point(0,0); Point p=new Point(); System.out.println(origine); System.out.println("Le point origine : ("  + origine.getX() + ", "  + origine.getY()); System.out.println(p); Point p2=new Point("12",  "13"); System.out.println("Le point origine : ("  + origine.getX(10) + ", "  + origine.getY(11)); System.out.println(System.out.println("Le point origine : ("  + origine.setX(10) + ", "  + origine.setY(11)); }

Les commandes public static void main(String[] args) javac ClasseAtester.java -> erreurs ou création du fichier ClasseAtester.class javac TestDEClasseAtester.java -> erreurs ou création du fichier TestDeClasseAtester.class java TestDeClasseAtester -> erreurs et/ou exécution du code ATTENTION A L’ORDRE DE COMPILATION