CSI 1502 Principes fondamentaux de conception de logiciels

Slides:



Advertisements
Présentations similaires
Cours n° 7 Standard Template Library II.
Advertisements

1 Quelques précisions sur l'héritage. 2 Signification de super.f() appel à la méthode f() masquée super : désigne l'objet appelant comme s'il était de.
Gestion des événements (suite)
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.
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Au programme du jour …. Un peu plus de structures de données
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
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.
Approfondissement du langage
(Classes prédéfinies – API Java)
L’ interruption de boucle
1 Tableaux des objets C++ si on connaît le nombre dobjets nécessaires davance on peut utiliser des tableau dobjets dans les fonctions dusage class Personne.
JAV - TD 6 Structures de données JAVA
Structures collectives en Java
IPA – Catherine Faron Zucke et Anne Marie Deryr. suite ordonnée d'éléments de taille variable ArrayList liste; liste = new ArrayList (); Ne peuvent contenir.
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
1 Cours JAVA / Y.Laborde Java : Les types génériques ( ) LES TYPES GENERIQUES : Introduction (diapo 2) Déclaration dun type générique (3) 1re déclaration.
Structures de données et algorithmes – TP2
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
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.
Les collections d'objets
Langage Oriente Objet Cours 4.
Chapitre VII Généricité. POO-L3 H. Fauconnier2 Chapitre VII 1. Principes généraux 2. Types génériques imbriqués 3. Méthodes génériques 4. Types paramètres.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
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.
Chapitre 21 Collections Partie I Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est.
1 Objectifs de ce cours (I21) Cours JAVA (I21) -Licence 1 Semestre 2 / Y.Laborde Résumé du cours précédent.
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.
Une nouvelle structure de données : les tableaux
Rappels Java.
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
Design Pattern Memento. Principe : Enregistrer les changements d'états d'un objet Objectif : Pouvoir restituer les états précédents d'un objet.
IFT 6800 Atelier en Technologies d’information
Vector, Iterator, LinkedList
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Chapitre 9 Les sous-programmes.
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI1502 Introduction au génie logiciel
CSI 1502 Principes fondamentaux de conception de logiciels
CSI1502 Principes fondamentaux en conception des logiciels
CSI 1502 Principes fondamentaux de conception de logiciels
Java, les objets : tout de suite ! Rassembler, grouper les objets
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.
Animateur : Med HAIJOUBI
Cours 7 Divers et exceptions. Chapitre V Enumeration, tableaux, conversion de types, noms.
Objectifs À la fin de ce cours, vous serez capables de :
Javascript 2° PARTIE : EVENEMENTS ET OBJETS
JavaScript Nécessaire Web.
4 Introduction des objets. Les chaînes et tableaux
La notion de type revisitée en POO
Cours 9 Exceptions (fin) Généricité. POO-L3 H. Fauconnier2 Chaînage d'exceptions  Une exception peut être causée par une autre.  il peut être utile.
Cours 7 Classes locales Clonage Divers: tableaux.
Créer des packages.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
Cours C++ Fonctions Surcharge d’opérateurs Passage d’arguments
Module 4 : Implémentation de l'intégrité des données.
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Schéma de conception Factory Method Exemple Sylvain Giroux.
Cours LCS N°4 Présenté par Mr: LALLALI
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Liste Une liste est une séquence d’éléments. Concept important: Chaque élément possède une position dans la liste. Notation: De quelles opérations a-t-on.
Héritage Conception par Objet et programmation Java
IUT du limousin L.U.P Michel Vergnaud Programmation Objet - Java.
BlueJ_III 1 Java, les objets : tout de suite ! Interaction entre objets Notes de cours associées au chapitre 3 tutorial BlueJ
LES CLASSES ET LES OBJETS
Chapitre 6: Tableaux et Vecteurs Présentation pour Java Software Solutions Foundations of Program Design Second Edition by John Lewis et William Loftus.
CSI1502: Principes fondamentaux de conception de logiciels Chapitre 12: Structures de données.
Transcription de la présentation:

CSI 1502 Principes fondamentaux de conception de logiciels Chapitre 6: Tableaux (suite)

Objectifs d'apprentissage: Tableaux - Partie B Comprendre les conceptes suivants: Tableaux à plusieurs dimensions La classe ArrayList Polygones and polylignes; types de bouton

Tableaux à deux dimensions Un tableau à une dimension stocke simplement une liste de valeurs Un tableau à deux dimensions est une table de valeurs en lignes et en colonnes Parce que chaque dimension est un tableau de références à un tableau, les tableaux pour chaque dimension peuvent être de différentes longueurs Parfois appelé tableau inégal (ragged arrays) Un élément d'un tableau à deux dimensions désigné par deux valeurs d'index int[][] scores = new int[10][10]; value = scores [3][6] Pour être plus précis, un tableau à deux dimensions dans Java est un tableau de tableaux

Tableaux à deux dimensions: TwoDArray.java public class TwoDArray { // create a 2D array of integers and print them public static void main (String[] args) { int[][] table = new int[4][6]; // load values for (int row = 0; row < table.length; row++) for (int col = 0; col < table[row].length; col++) table[row][col] = row * 10 + col; // print the values for (int row = 0; row < table.length; row++) { for (int col = 0; col < table[row].length; col++) System.out.print(table[row][col] + "\t"); System.out.println(); } … }}

Tableaux à plusieurs dimensions Un tableau peut avoir plusieurs dimensions S'il y a plus d'une dimension, c'est un tableau à plusieurs dimensions Chaque dimension subdivise celle précédente dans le nombre spécifié d'éléments Chaque dimension a sa propre constante length C'est souvent difficile à visualiser pour le humains

La classe ArrayList: Augmenter et Diminuer La classe ArrayList fait partie du package java.util Comme un tableau, elle peut stocké une liste de valeurs qui peuvent être référencé par un index Non comme un tableau, un objet ArrayList augmente et diminue tel que nécessaire Les éléments peuvent être inséré ou extrait avec l'invocation d'une simple méthode Elle stocke des références à la classe Object

Quelques méthodes de la classe ArrayList ArrayList () // constructor: creates an empty list boolean add (Object obj) // Add object to end of list void add (int index, Object obj) // Add object at index void clear(); // Remove all elements from the list Object remove (int index); //Remove element at index Object remove (int index); //Return element at index without removing it Boolean isEmpty(); //Return true if the list is empty

Performance de ArrayList La classe ArrayList est implémentée à l'aide d'un tableau. Le tableau s'élargit au-delà de sa capacité initiale pour permettre des éléments additionels Il y a des méthodes qui manipulent le tableau pour les indexes demeurent continus lorsque des éléments sont insérés ou extraits

Utiliser Arraylist: Beatles.java import java.util.ArrayList; public class Beatles // stores and modify list of band members { public static void main(String[] args) { ArrayList band = new ArrayList(); band.add("Paul"); band.add("Pete"); band.add("John"); band.add("George"); System.out.println(band); int location = band.indexOf("Pete"); band.remove(location); System.out.println(band); band.add("Ringo"); System.out.println(band); System.out.println("Size of band: " + band.size()); } }

Polygones et Polylignes Les tableaux sont souvent utiles dans le domaine du traitement de graphiques Les polygones et les polylignes sont des formes qui peuvent être défini par des valeurs stockées dans des tableaux La classe Polygon, défini dans le package java.awt, peut être utilisé pour définir et dessiner un polygone Deux versions des méthodes surchargées (overloaded) drawPolygon et fillPolygon acceptent un objet Polygon comme paramètre Un objet Polygon a encapsulé les coordonnées du polygone Voir Rocket.java (page 360)

Autres types de bouton: Case à cocher (Check box) Une case à cocher est un bouton qui peut être basculé entre les états "activé" et "désactivé" Une case à cocher est réprésentée par la classe JCheckBox Un changement d'état génère un événement item Voir StyleOptions.java et StyleGUI.java (pp. 364-5) SAY IT WITH STYLE! Bold Italic √

Check box: Extrait de StyleGUI.java import javax.swing.*; import java.awt.*; import java.awt.event.*; … private JLabel saying; private JCheckBox bold, italic; private JPanel primary; { saying = new JLabel(“Say it with style!”); bold = new JCheckBox(“Bold”); italic = new JCheckBox(“Italic”); StyleListener listerner = new StyleListerner(); bold.addItemListener(listener); italic.addItemListener(listener); primary = new JPanel(); primary.add(saying); primary.add(bold); primary.add(italic); primary.setBackground(Color.cyan); primary.setPreferredSize(new Dimension(300, 100);

La classe Font L'objet Font est défini par le nom, le style et la taille de la fonte de caractères Le style d'une fonte peut être "plain", "bold", "italic", ou "bold" et "italic" ensemble La méthode itemStateChanged du module d'écoute (listener) réagit lorsqu'une case de cocher (check box) change d'état final int FONT_SIZE = 32; int style = font.PLAIN; if (bold.isSelected()) style = Font.BOLD; saying.setFont (new Font(“Tahoma”, style, FONT_SIZE);

Bouton radio Un ensemble de boutons radio représente un ensemble d'options mutuellement exclusifs Lorsqu'un bouton radio est sélectionné, l'autre bouton activé dans le groupe est basculé à l'état désactivé Un bouton radio génère un événement action Voir QuoteOptions.java (page 368-369) I THINK, THEREFORE I AM ๏ ๐ ๐ Comedy Philosophy Carpentry

Sommaire: Chapitre 6 TABLEAUX dans Java Déclaration et utilisation de tableaux Passage de tableaux et éléments de tableaux comme paramètres Tableaux d'objets Tri d'éléments dans un tableau: tri par sélection et tri par insertion Tableaux à plusieurs dimensions La classe ArrayList Polygones et polylignes; types de bouton

Étudiez jusqu'ici pour l'examen de mi-session: Chapitre 1 à 6 Bonne Chance! Examen de mi-session: samedi le 6 mars à 13h00 Voir le site web du cours pour plus d'information