Introduction à la POO : «has a», comprend un, composition. Segment. Mais on peut aussi dire qu'un segment est décrit pas deux points :

Documents pareils
R. A. A. Bébian. Mimographie, ou essai d écriture mimique. París, 1825

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Diagramme de classes

A. Définition et formalisme

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

Université de Bangui. Modélisons en UML

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz

swisstlm 3D Version 1.3 Publication 2015 Généralités sur swisstlm 3D

MATHÉMATIQUES APPLIQUÉES S4 Exercices

Fiche FOCUS. Les téléprocédures

Généralités sur le Langage Java et éléments syntaxiques.

Application web de gestion de comptes en banques

Modèle conceptuel : diagramme entité-association

Unité 2 Leçon 2 Les permutations et les combinaisons

Tarif Public. Sage BOB 30 Mode Licence

Préparer la synchronisation d'annuaires

I La création d'un compte de messagerie Gmail.

Mention : En débat

Modélisation de bases de données : Le modèle relationnel

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Guide de démarrage rapide

Didacticiel de mise à jour Web

LES SYSTEMES DE GESTION DE BASES DE DONNEES

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

Chapitre 2. Classes et objets

Modélisation des données

Date : Tangram en carré page

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

«Aucune investigation humaine ne peut être qualifiée de science véritable si elle ne peut être démontrée mathématiquement.

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No2 :

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

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy

point On obtient ainsi le ou les points d inter- entre deux objets».

CORVÉE : 4 DÉCEMBRE 2011 SALLE DES ENTRAÎNEURS

MEGA Database Builder. Guide d utilisation

Programmation par composants (1/3) Programmation par composants (2/3)

Révision mars Un terrain que la famille Boisvert veut acheter mesure 100m par 200m. Calcule la longueur de ses diagonales.

Clôture des comptes de la coopérative scolaire OCCE Liste des opérations à effectuer

Contrat d'association sans mise en commun des honoraires

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

MAT2027 Activités sur Geogebra

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

T2- COMMENT PASSER DE LA VITESSE DES ROUES A CELLE DE LA VOITURE? L E T U N I N G

Plan Pédagogique du cours

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

Tarif Public. Sage BOB 50 PME Mode Licence

Liberté de paiement Vous avez le choix d adapter votre mode de règlement en fonction de vos achats : COMPTANT ou A CREDIT (2).

Conception des bases de données : Modèle Entité-Association

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Mémo d'utilisation de BD Dico1.6

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

chapitre 4 Nombres de Catalan

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Du Premier au Second Degré

Deux disques dans un carré

Langage Java. Classe de première SI

Programme de formation

Comment choisir ou modifier les options de facturation sans papier

Algorithmes d'apprentissage

FAQ Dépôts d épargne réglementés

Contrat d'association avec mise en commun des honoraires

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

MERISE. Modélisation et Conception de Systèmes d Information

Connexion à une base de données. Connexion à une base de données. Connexion à une base de données Développement d'une application

Infrastructure de recharge >22kW

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Nom légal et complet du réseau de transport, entreprise, organisation ou individu :

Le niveau conceptuel : la modélisation des bases de données

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés

Création de site Internet avec Jimdo

BASES DE DONNEES ORIENTEES OBJETS BDA10.1

Introduction aux Bases de Données

Fonctionnalités Fid'Elite

DÉCLARATION DE LA LISTE DES PERSONNES CHARGÉES DE L ADMINISTRATION D'UNE ASSOCIATION

Mathématiques et petites voitures

EVALUATIONS MI-PARCOURS CM2

Initiation à JAVA et à la programmation objet.

FICHE INDIVIDUELLE D'INSCRIPTION AUX COURS DE SURF

ASSOCIATION NATIONALE D'ASSISTANCE ADMINISTRATIVE ET FISCALE DES AVOCATS

TBI et mathématique. Pour vous soutenir dans votre enseignement des mathématiques. Les outils du logiciel Notebook. les ressources internet

Module ebay pour PrestaShop Guide du vendeur

Annexe : La Programmation Informatique

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Initiation à la programmation en Python

MEDIAplus elearning. version 6.6

APS 4 : CREATION D'ENTREPRISE

EXCEL PERFECTIONNEMENT CALCULS AVANCES

Efficacité des Modules Maintenance dans les ERP.

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Jexcel. V1.1.4 Manuel d'utilisation. modifié le 16 nov. 2004

PROJET DE MODELISATION CASERNE SERGEANT BLANDAN

Programmation Objet Java Correction

Comparer des surfaces suivant leur aire en utilisant leurs propriétés géométriques Découverte et manipulation

Etude de cas : PGE JEE V2

Transcription:

Introduction à la POO : «has a», comprend un, composition I. Préambule : On peut décrire un segment par 4 coordonnées. S e g m e n t -x1 : flo a t -y1 : flo a t -x2 : flo a t -y2 : flo a t +S e g m e(e n tn tr é e a1 X: flo a, te n tr é e a1 Y: flo a, te n tr é e a2 X: flo a, te n tr é e a2 Y: flo a t) +D e ssin(e en tr é e ) g +T r a n sla(e ten tr é e p: V P o in) t Mais on peut aussi dire qu'un segment est décrit pas deux points : Point -x : float -y : float +Point(entrée ax : float, entrée ay : float) +Dessine(entrée g) +Translate(entrée pv : Point) -p1 : Point -p2 : Point Segment +Segment(entrée ap1 : Point, entrée ap2 : Point) +Dessine(entrée g) +Translate(entrée pv : Point) Programmer cette exemple avec.net et c#. L'application Windows construite autour de cette classe Segment se trouve ici. F.Minon 2008-2012 1/9

II. Définitions II.1 Composition Il y a composition, quand l'attribut d'une classe A est un objet d'une classe B mais que sans la classe B cet attribut ne peut pas exister. L'objet de classe A est composé à l'aide de l'objet de classe B. L'objet de classe B est un composant de l'objet de classe A. Exemples : lien puis avec l'attribut. On identifiera le symbole utilisé par le logiciel pour représenter une composition. NB : le losange est du côté de la classe qui possède. 1. Description d'une salle avec une porte et une fenêtre. 2. Une Maison simple est constituée de quatre murs, d'un plafond, d'un plancher, d'une porte et de trois fenêtres. 3. Description d'une voiture et de son moteur mais sans les roues. 4. Un triangle est composé de 3 segments. F.Minon 2008-2012 2/9

II.2 Agrégation Il y a agrégation, quand l'attribut d'une classe A est un objet d'une classe B et que cette attribut est indépendant de A. L'objet de classe A contient l'objet de classe B. Exemples : lien puis avec l'attribut. On identifiera le symbole utilisé par le logiciel pour représenter une agrégation. NB : le losange évidé est du côté de la classe qui possède. 1. Voiture et ces quatre roues. Une roue avec jante et pneu. 2. Une salle avec son mobilier. 3. Un triangle est décrit par 3 points. F.Minon 2008-2012 3/9

II.3 Association Il y a association, quand l'attribut d'une classe A désigne un objet d'une classe B. L'objet de classe B est associé à un objet de classe A. L'association peut être à sens unique. Càd que l'objet a de classe A connait l'objet b de classe B mais que b ne sait pas qu'il est associé à a. Une association peut-être binaire, n-aire ou réflexive. On peut donner un nom à une association ou pas. F.Minon 2008-2012 4/9

Exemples : lien puis avec l'attribut. On identifiera le symbole utilisé par le logiciel pour représenter une association. 1. Une personne travail pour une entreprise. 2. Une personne est amie d'une autre personne. F.Minon 2008-2012 5/9

II.4 Multiplicité A combien d'objets de classe A une classe B est associé. Combien d'objets de classe A une classe B connait. Ce concept est valable pour tous type d'association. La multiplicité écrite du côté de A indique le nombre d'objet A qui participent à l'association. ( min..max ou nombre si min égale max.) Attention : cela peut conduire à une confusion avec la méthode Merise et les MCD. Exemples : lien puis avec l'attribut. 1. Un polygone est défini par un ensemble de points appelés sommet. 2. Plusieurs personne travaillent dans une entreprise. 3. Une personne est associé à une couleur de cheveux. 4. Une école dispose d'au moins une salle de cours. Dans chaque salle, il y a un vidéoprojecteur. Dans chaque salle, il y a des chaises, des tables et un tableau. II.5 Remarque importante : Si pour l'instant, la différence entre les 3 types d'association vous apparaît comme trop obscure, vous pourrez facilement vous en passer en utilisant seulement le concept d'association. F.Minon 2008-2012 6/9

III. Implémentation en C# En C# ou java, il y a plusieurs façons de faire. Il s'agit ici de propositions. III.1 Association dans un sens avec multiplicité 1 public class B // attributs... public B() // constructeur // code... public class A B b; // référence sur l'objet de classe B public A() b = new B(); // création de l'objet NB : pour faire cours, une référence représente l'adresse d'un objet. Elle ne contient pas l'objet. F.Minon 2008-2012 7/9

III.2 Association dans les deux sens avec multiplicité 1 public class B A a; // attributs... public B(A una) // constructeur // code... a = una; public class A B b; // référence sur l'objet de classe B public A() b = new B( this); // création de l'objet III.3 Association dans un sens avec multiplicité 0..n On utilise une collection ou un tableau. public class B // attributs... public B() // constructeur // code public class A System.Collections.Generic.List<B> listeb;// collection de références sur l'objet de classe B public A() listeb = new System.Collections.Generic.List<B>();// création de la liste d'objet // exemple d'ajout de deux objets dans la collection listeb.add( new B()); listeb.add( new B()); F.Minon 2008-2012 8/9

IV. Autres exemples lien puis avec l'attribut. A chaque fois, on essaiera de déterminer si on a une association simple, une agrégation ou une composition. 1. Plusieurs personne travaillent dans une entreprise. Une personne a un nom, un prénom, une adresse, Une adresse est composée d'un numéro de rue, d'une rue, d'une ville, d'un code postal. 2. Un répertoire téléphonique contient pour chaque contact : Nom. Prénom. Adresse. Numéro de téléphone. Six actions seront possibles : Ajouter une entrée pour un contact. Retrouver les renseignements sur un contact en connaissant le Nom. Supprimer une entrée pour un contact en connaissant le nom et ce avec les précautions minimale. Modifier une entrée. Lister tous les contacts. Terminer l'application. 3. Dans le cadre du DPE méthode 3CL 2006 : une Maison est constituée de murs, de plafonds, de plancher, de portes et de fenêtres. (Cf http://www2.ademe.fr/) F.Minon 2008-2012 9/9