Principes de programmation (suite)

Slides:



Advertisements
Présentations similaires
Cours de Langage C Les structures
Advertisements

Processus de publication. Création d’une publication Définir l’URL du contenu Annexe 1 Choix de l’enseigne Opération existante Création d’une opération.
QuickPlace de LOTUS Logiciel générateur de SITE WEB : Installé sur un serveur (grenet), Permet de créer / gérer / utiliser un site privé, De donner des.
1 Programmation Orientée Objet ● Qu'est-ce qu'un objet ● Collaboration des objets ● Les classes ● Relations entre les classes – “Utilise”, “Contient”,
Guide de l'enseignant SolidWorks, leçon 1 Nom de l'établissement Nom de l'enseignant Date.
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.
TP 1 BIS Programmation structurée à l’aide de fonctions (FC) et de bloc fonctionnels (FB)
1 Programmation en C++ Cycle de vie ● La vie d'un objet ● Destructeur ● Gestion de mémoire dynamique.
Cross-Plateform Cours JavaScript
La technologie des mémoires
1 2 4 = = = Les fractions équivalentes =
Utilisation des Gammes La chaîne numérique en Productique
Corrélation et causalité
Tutoriel Etude AlcalUN
LES TABLEAUX EN JAVA.
Détection des erreurs.
Séminaire Novembre 2006 Zephir : Déploiement et supervision des serveurs Eole.
Les Bases de données Définition Architecture d’un SGBD
Algorithmique demander jeu du pendu.
Ajouter le code dans une page html
e-Prelude.com Visite guidée - session 1 Les articles
Principes de programmation (suite)
Algorithmique Langage C
Initiation aux bases de données et à la programmation événementielle
Visite guidée - session 2
« Easy tag » (nouvelle version)
Gestion dynamique de la mémoire : new / delete
Bddictionnairique Phase 1
Réalisation d'agents de surveillance Zephir
Fonctions logiques et algèbre booléenne
Semaine #4 INF130 par Frédérick Henri.
Programmation en C++ Classes
Notion De Gestion De Bases De Données
Création Et Modification De La Structure De La Base De Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Programmation en C++ C++ de base
Cours N°10: Algorithmiques Tableaux - Matrices
M1103 : Structures de données et algorithmes fondamentaux
Package R Markdown: Un outil pour générer des pages html avec R Studio
Chapter 12: Structures de données
Programmation Android Bases De Données, SQL-lite
Formation sur les bases de données relationnelles.
Connaître les équivalences entre fractions
L1 Technique informatique
Programme financé par l’Union européenne
Assembleur, Compilateur et Éditeur de Liens
Présentation des outils de recherche d’informations scientifiques
Semaine 3 Retour sur la semaine 2 Plan de séance
Langages de programmation TP11
03- Evaluation Access 2003 Cette évaluation comporte des QCM (1 seule réponse) et des Zones à déterminer dans des copies d’écran.
STAT D103 Esteban Callejas Perez H.4.145
Présentation 9 : Calcul de précision des estimateurs complexes
Support de formation Administrateur Notes de Frais
Chapitre V La Procédure Comptable
Logiciel de présentation
PRO1026 Programmation et enseignement
Elles contiennent des informations autre que géométriques
Présentation 6 : Sondage à plusieurs degrés
Principes de programmation (suite)
Formation « Utiliser un site Internet école »
Les modules.
Le langage C# : Partie 1.
INTERFACE ET POLYMORPHISME
Arbre binaire.
Exploitation de vos données
Support de formation Administrateur Entretiens
Python Nicolas THIBAULT
Configurer Thingspeak
Séquence 1:Analyse du système d’information comptable
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.