Principes de programmation (suite)

Slides:



Advertisements
Présentations similaires
Principes de programmation (suite)
Advertisements

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.
Principes de programmation (suite)
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.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
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.
Principes de programmation (suite)
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
Plan cours La notion de pointeur et d’adresse mémoire.
Philippe Gandy – 17 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
LES CLASSES ET LES OBJETS
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.
Tableaux et Pointeurs Chaînes de Caractères Programmation Impérative II.
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.
SQL partie 5 1 LMD create – update – primary key secondary key.
CINI – Li115 1 Semaine 10 Les pointeurs ● Notion d'adresse ● Déclaration et utilisation de pointeurs ● "Types pointeur" et initialisation des pointeurs.
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.
Utilisation du logiciel EduStat © Construire une épreuve.
Initiation à la conception des systèmes d'informations
Ajouter le code dans une page html
java : l'héritage (rappel)
Environnement de développement des BD
Introduction au Langage Pascal
EPREUVES HISTOIRE ET GEOGRAPHIE
Construire des requêtes
LES TABLEAUX EN JAVA.
Initiation aux bases de données et à la programmation événementielle
Pas de variable globale
Les notions de classe et d'objet
Université Stendhal - Grenoble
Les commandes du système de fichiers
Pointeurs et langage C.
JavaScript.
Semaine #1 INF130 par Frédérick Henri.
Collecte de données CAPI
7 – COMMUNICATION INTER PROCESSUS SEGMENTS DE MÉMOIRE PARTAGEE
Principes de programmation (suite)
Algorithmique Langage C
Langages de programmation TP7
Les fonctions.
Les bases de données et le modèle relationnel
Programmation en C++ Fonctions
Buffer Overflow Anatomy of an exploit.
Principes de programmation (suite)
Création d’une convention de stage
Les interfaces en PHP.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Programmation en C++ Fonctions
Introduction BD TABLES ET DONNÉES champs OU données, types de données
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Programmation Orientée Objet C# El Akel Bouchra ISMONTIC Tanger 2013/2014.
Les structures en langage C
Langage d’interrogation des Données LID
Calcul Scientifique Initiation à SCILB
Message Oriented Middleware MOM - Beghdad abdelkrim -abass youcef.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Présentation de la base Frantext
Les classes et les objets
Semaine #11 INF130 par Frédérick Henri.
Les modules.
Analyse et programmation langage ADA
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
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.
Support de formation Administrateur Compétences
Transcription de la présentation:

Principes de programmation (suite) Les références Définition Avantages Exemple Les enregistrements Fonctionnement Exemples

LES RÉFÉRENCES

Références On sait que les variables de type primitif ne sont pas des références. Exemple : int x = 5; x Définition : Une référence est une variable dont le contenu fait référence à un emplacement mémoire différent, qui lui contient les données ***. Exemple : Référence Donnée Toutes les variables d’un autre type que primitif sont des références ***Ressemble au pointeur du C sans les opérateurs ‘&’ et ‘*’ 5 blablabla

Les références en paramètres Avantages Un paramètre formel reçoit une copie de la référence à une donnée et non la donnée. On peut modifier les données directement via le paramètre formel. On peut avoir plusieurs références sur une même donnée.

Les références en paramètres Exemple Il faut utiliser new pour créer de l’espace mémoire et en obtenir la référence. TypeAutreQuePrimitif var1 = new TypeAutreQuePrimitif (); TypeAutreQuePrimitif var2 = var1; var1 var2 Les deux variables pointent sur la même donnée donnée

LES ENREGISTREMENTS

Enregistrements Les enregistrements Il est possible de regrouper des variables ensemble dans un même contenant appelé enregistrement. Chaque variable est appelé un champ de l’enregistrement. En Java, on définit un enregistrement à l’aide d’une classe dans lequel on définit les champs(variables) publiques. Exemple : public class StatistiquesHockey{ public int nbButs; public int nbPasses; … }

Enregistrements (suite) Lorsqu’une telle classe existe, elle n’est qu’une définition de type. Il faut ensuite définir (à l’aide de new) des variables de ce nouveau type pour obtenir de l’espace et sa référence. StatistiqueHockey stats = new Statistiques(); //New crée l’espace et retourne la référence stats nbButs nbPasses Pour accéder aux champs nbButs et nbPasses, il faut passer par la référence stats suivi d’un point, suivi du nom du champ Exemple : stats.nbButs = 10; stats.nbPasses = 32;

Enregistrements (suite) Exemple : Il est possible qu’un champ d’un enregistrement soit également un enregistrement d’un autre type. Exemple : personne nom prenom dateDeNaissance jour mois annee personne.dateNaissance.annee = 1998; 1998

Enregistrements Les enregistrements On peut considérer un enregistrement comme un type Catégorie de données Une variable contenant une ou plusieurs informations pouvant être de type différent Chaque information est appelée un champ et le champ est considéré comme une variable Un champ a un nom Intervalle Nombre de champs Opérations Accéder à un champ Toutes les autres opérations sont des fonctions du langage ou elles doivent être définies par le programmeur (initialiser , comparer, etc.).

Enregistrements (suite) En Java, l’opérateur == compare des références. On ne peut donc pas comparer le contenu d’un enregistrement avec ce dernier. Il faut alors écrire une fonction booléenne pour la comparaison. Par convention, cette fonction s’appelle equals. Exemple : public static boolean equals (Personne p1, Personne p2){ return equals(p1.nom,(p2.nom)) && equals(p1.prenom, p2.prenom) && equals(p1.dateDeNaissance, p2.dateDeNaissance); } *On présume que les fonctions equals pour String et Date existent

Enregistrements (suite) Pareil pour initialiser le contenu d’un enregistrement, on doit l’effectuer champ par champ. Il faut donc écrire une procédure d’initialisation. Exemple : public static void initPersonne (Personne p, String nom, String prenom, Date dateDeNaissance){ p.nom = nom; p.prenom = prenom; p.dateDeNaissance = dateDeNaissance; } *On présume que le new a été fait avant pour p et que la référence existent. On présume aussi que String et Date existent

Enregistrements Il y aura plusieurs sous-programmes à écrire pour représenter les opérations possibles sur un enregistrement. init et equals en sont quelques exemples qui, quoique souvent nécessaires, ne sont pas toujours obligatoires. En résumé, on n’écrit que celles qui sont utiles au projet.