Les notions de classe et d'objet

Slides:



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

SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
C.
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Leçon 3 : Héritage IUP 2 Génie Informatique
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.
Langage Oriente Objet Cours 4.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
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.
POO : Objets et classes (Rappels)
Langage Oriente Objet Cours 2.
Structures de données IFT-10541
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 Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Introduction au paradigme orienté-objet (suite)
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
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é.
2.1 - Historique Chapitre 2 : Introduction au langage C++
4 Introduction des objets. Les chaînes et tableaux
La notion de type revisitée en POO
11/04/ L'héritage Cours 7 Cours 7.
Programmation objet La base.
Tutorat en bio-informatique
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
LIFI-Java 2004 Séance du Jeudi 16 sept. Cours 2. Programmation Objet Qu’est ce que c’est? –une “facilité” de programmation? –une nouvelle façon de penser?
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.
Les classes Introduction aux Langages Orientés Objets
BlueJ_III 1 Java, les objets : tout de suite ! Interaction entre objets Notes de cours associées au chapitre 3 tutorial BlueJ
C++ Les fonctions. Présentation Utilité : Dès qu'un programme dépasse la centaine de lignes de code, il est pratique de pouvoir le décomposer en plusieurs.
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.
1 Programmation en C++ Fonctions ● Déclaration et définition de fonctions ● Arguments ● Surcharge ● Arguments optionnels ● Fonctions constantes ● Fonctions.
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.
I- ANALYSE DU BESOIN / Plan
Modèle objet : les classes
java : l'héritage (rappel)
Environnement de développement des BD
Programmation en C++ Héritage
Classe interne Classe interne
Pas de variable globale
Pointeurs et langage C.
Principes de programmation (suite)
Algorithmique Langage C
11ième Classe (Mardi, 18 novembre) CSI2572
Langages de programmation TP7
Les fonctions.
Les bases de données et le modèle relationnel
JAVA et POO : Notion d'héritage
Programmation en C++ Fonctions
Principes de programmation (suite)
Cours Programmation Orientée Objet (POO) 2eme année Licence-LMD
Chapitre 2: Les classes et les objets
5ième Classe (Mardi, 6 octobre) CSI2572
Programmation en C++ Fonctions
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Programmation Orientée Objet C# El Akel Bouchra ISMONTIC Tanger 2013/2014.
Les classes et les objets
Paradigme Orienté Objet
Programmation Orientée Objet MMI 2ème année – S3
Principes de programmation (suite)
Présentation Chaînage dynamique Retour sur les tableaux
Listes Chaînées.
Variables et accès en Java
Bases de données Singleton pour la connexion
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Transcription de la présentation:

Les notions de classe et d'objet

Pas de fonctions isolées JAVA : orienté objet Pas de fonctions isolées Pas de variables globales

Le modèle objet Caractéristiques Identité État une voiture Contenu réservoir = 40 l Après 250 km une voiture Contenu réservoir = 20 l

Le modèle objet Caractéristiques Identité État Comportement un avion État = En vol Atterrir un avion État = au sol

Le modèle objet Le concept de l'orienté objet s’appuie sur le monde réel. Un objet possède une identité et regroupe : Un état Un comportement

Le modèle objet Des objets et des classes Classe Objet Voiture couleur : String nbKilometre : int Instance de maFerrari : couleur = rouge nbKilometre = 50 000 Voiture

Les classes dans le modèle objet Une classe est un modèle de définition pour des objets ayant même structure (même ensemble d'attributs), ayant même comportement (mêmes opérations, méthodes), Ayant une signification commune C'est donc une entité abstraite

Les classes dans le modèle objet Méthode un avion État = En vol Atterrir Attribut un avion État = au sol

Les classes dans le modèle objet Une classe est constituée de la description de : Données membres appelées attributs Fonctions membres appelées méthodes

Les classes dans le modèle objet Les objets sont des représentations dynamiques (instanciation), « vivantes » du modèle défini pour eux au travers de la classe. Une classe permet d’instancier (créer)plusieurs objets Chaque objet est instance (un exemplaire) d’une (seule) classe

Le modèle objet Les classes Identification Voiture - couleur : String nbKilometre : int - nom : String - nbKg : int + Voiture(string)‏ + ~Voiture()‏ + rouler(int) : void Données : Attributs Opérations : Méthodes

Syntaxe d'une classe Nom de la classe identique au nom du fichier Fichier Point.java Nom de la classe identique au nom du fichier Class Point { } double x; double y; Attribut void translater(double dx,double dy)‏ { x += dx; y += dy; } Les attributs fournissent les caractéristiques d'un objet Méthodes double distance() { double dist; dist = Math.sqrt(x*x+y*y); return dist; } Une méthode est une fonction membre d'une classe

Syntaxe d'une classe Class Point { } double x; double y; double distance() { double dist; dist = Math.sqrt(x*x+y*y); return dist; void translater(double dx,double dy)‏ x += dx; y += dy; Les attributs sont directement accessibles dans toutes les méthodes de la classe

Portée et visibilité des variables en java Les variables sont visibles à l'intérieur du bloc où elles sont définies (limitée par {...} Class Visibilite { } void methodeA(){ float z, w; x = 10; void methodeB(float y) { int z; do { float w; z++; }while (z < 1); x = z + w; int x; L'attribut x de la classe est accessible dans les méthodes de la classe la variable w limité au bloc do { } while(..);

Java : les objets Un objet est une instance (un exemplaire) d'une classe Il a une valeur pour chaque attribut L'ensemble des valeurs des attributs forment l'état de l'objet Chaque objet a une identité : Son nom Il est référencé par celui-ci

Java : déclaration des instances Par exemple avec la classe Point précédente : Point p1; Point p2, p3; L'instance déclarée en java est une référence, c'est un pseudo-pointeur Lors de la déclaration d'un attribut, la référence vaut null, elle ne pointe sur rien

Java : création des objets La création d'un objet s'appelle l'instanciation Elle se fait à l'aide l'instruction new Cette Instanciation se décompose en trois phases : Allocation de l'espace mémoire correspondant à l'objet (l'espace pour les attributs)‏ Construction de l'objet (appel du constructeur) et initialisation des attributs Renvoi d'une référence sur l'objet créé

Java : création des objets Point p1,p2 ; p1 = new Point() ; p2 = new Point() ;

Syntaxe : Java : les méthodes Point p1; p1 = new Point(); nomDeObjet.nomDeMethode([paramètres effectifs])‏ Point p1; p1 = new Point(); p1.translater(10.0, 20.1);

Java : les méthodes Créez la classe Point Créez une classe TestPoint qui instanciera deux points les translatera et affichera leurs coordonnées.

Java : accès aux attributs A l'extérieur d'une classe, la visibilité des attributs doit être restreinte, voire interdite C'est le principe d'encapsulation

Java : accès aux attributs L'accès aux attributs doit être impossible directement public class TestPoint { public static void main()‏ Point p1 ; p1 = new Point() ; p1.x = 10 ; // impossible ici } public class Point { private double x; private double y; }

Java : les constructeurs Ils portent le même nom que la classe Ils ne sont pas typés contrairement aux autres méthodes/fonctions Un constructeur par défaut n'a pas de paramètre Un constructeur est une méthode particulière Un constructeur peut avoir des paramètres Une classe peut avoir plusieurs constructeurs Comment le compilateur peut-il dans ce cas différencier les divers constructeurs ?

Java : les constructeurs Le constructeur doit initialiser les attributs Faire des opérations supplémentaires

Java : exemple Application : définir une classe carre longueurDuCote == 100 longueurDuCote == 15 longueurDuCote == 15 longueurDuCote == 10 Elle doit permettre de fournir son périmètre et son aire. Proposez un constructeur par défaut Proposez un constructeur à paramètres Les méthodes permettant de calculer et d'afficher l'aire et le périmètre.