Langages de programmation TP7

Slides:



Advertisements
Présentations similaires
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Advertisements

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.
Programmation objet La base.
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- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
Le DOM Le Document Object Model (DOM) est une interface de programmation pour les documents HTML et XML Il fournit une représentation structurée du document.
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 ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
Algorithmique & Langage C IUT GEII S1
Tableaux en C Mardi 2/05.
Langages de programmation TP6
Initiation à la conception des systèmes d'informations
Synthèse TP 2 Codeblock 1 Les objectifs de ce tp sont :
Révision – mathématiques 8
I- ANALYSE DU BESOIN / Plan
Ajouter le code dans une page html
Exploitation de logiciels :
Modèle objet : les classes
java : l'héritage (rappel)
Environnement de développement des BD
La symétrie et l’aire de la surface
Construire des requêtes
Environnement du développement de BD ORACLE REPORTS 10g
Plateforme CountrySTAT Aperçu global des métadonnées dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME CountrySTAT.
Pas de variable globale
Les notions de classe et d'objet
Semaine #1 INF130 par Frédérick Henri.
Collecte de données CAPI
1°) Un nombre y est-il associé à 3, et si oui lequel ? 3 → ?
Principes de programmation (suite)
1°) Un nombre y est-il associé à 3, et si oui lequel ?
11ième Classe (Mardi, 18 novembre) CSI2572
Les fonctions.
JAVA et POO : Notion d'héritage
Programmation en C++ Fonctions
Programmation Numération Compétences visées Période
Un Algorithme , c'est Quoi ?
Plus le périmètre d'une figure est petit, plus son aire est petite.
Tableaux à plusieurs dimensions en langage C
Périmètre et aire.
Langages de programmation TP3
Langages de programmation TP10
3.5 L’aire totale d’un prisme rectangulaire
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.
Calcul Scientifique Initiation à SCILB
Simulation de robots en MATLAB
Révision – mathématiques 8
Les classes et les objets
Les langages en technologie
Langages de programmation TP11
AIAC GEET-12 Année : Régulation Industrielle: Programme M.BAHATTI.
Programmation Orientée Objet MMI 2ème année – S3
Chapitre 15 : Symétrie axiale
Principes de programmation (suite)
INTERFACE ET POLYMORPHISME
Passage primaire-secondaire
STREAMS (et fichiers).
Lecture/Écriture de fichiers (I/O)
Révision – mathématiques 8
Retour sur les interfaces
Prof. pour l’enseignement primaire
TP N°1 : GUI en NetBeans Module R & C Université de Jijel
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.
Transcription de la présentation:

Langages de programmation TP7 Prof. Maria-Iuliana Dascălu Assist. Iulia-Cristina Stănică iulia.stanica@gmail.com

Objectifs pour aujourd’hui Classes et objets La surcharge en Java Les attributs et les méthodes statiques

Classes et objets Classe: modèle à partir duquel les objets sont faits Objet: Entité/concept caractérisée par: des données (champs/attributs) qui décrivent l'état de l'objet des méthodes permettant d’agir sur ces données une identité Exemple: une figure géométrique données: coordonnées, dimension, couleur méthodes: translation, rotation identité: figure1, figure2 etc.

Classe - exemple

Les étapes de la création des objets Exemple: Dog myDog= new Dog (); Déclarez une variable de référence d'une classe: Dog myDog = new Dog (); Créez un objet: Dog myDog= new Dog () ; Affectez l'objet à la référence: Dog myDog = new Dog ();

Le Constructeur A le même nom que la classe Il ressemble à une méthode, mais n'a pas de type de retour Il est utilisé pour initialiser l'état d'un objet

Rappel: Surcharge (overloading) on peut définir plusieurs fonctions qui ont le même nom à condition que leurs signatures soient différentes (surcharge = overloading) le compilateur doit être capable de déterminer la fonction à partir des types des paramètres d'appel public void disp (char c) { System.out.println(c); } public void disp (char c, int num) System.out.println(c + " "+num);

Constructeurs surchargés (overloaded) Si vous avez plus de constructeurs dans une classe, ils doivent avoir des listes d'arguments différentes! Par défaut, le constructeur sans arguments est mis en œuvre (il existe, sans l'écrire), mais... Si vous écrivez un constructeur qui prend des arguments et vous voulez encore avoir un constructeur sans args, vous devez construire vous-mêmes le constructeur sans args!

Constructeurs surchargés (overloaded)

Les membres statiques vs. les membres d'instance Les membres statiques appartiennent à une classe, pas à des objets individuels. Les membres statiques peuvent être accessibles par le nom de la classe ou via des références d'objet. Les membres d'instance ne sont accessibles que par des références d'objets.

Attributs et méthodes statiques Attributs statiques: Appartenant a la classe, pas a l’objet Propriété commune pour tous les objets de la classe Efficience accrue de la mémoire du programme Méthodes statiques Peuvent être invoquées sans avoir créé une instance de la classe Peuvent accéder des attributs statiques et modifier leurs valeurs

Attributs et méthodes statiques

Exercices Faites une classe, appelée Produit, qui a: trois attributs privés: le nom (de type String), le prix de fabrication (de type double), VAT (statique, de type int); un constructeur sans paramètres; un constructeur avec 2 paramètres (pour le nom et le prix du produit); un constructeur avec tous les 3 paramètres; trois méthodes: getNom(), getPrix(), getVAT() qui renvoie le nom, le prix et le VAT du produit - des accesseurs (getters). trois méthodes: setNom(String nom), setPrix(double prix), setVAT(int v), pour établir le nom, le prix de fabrication et VAT pour chaque produit – des mutateurs (setters). une méthode prixDeVente() pour calculer le prix de vente. une méthode prixDeVente(int discount) pour établir le prix de vente avec discount.

Exercices a) Ecrivez un programme (dans une classe TestProduit) qui crée deux produis (2 objets de type Produit) et affichez la somme de leurs prix de vente, sous cette forme: Les produits [nom_produit1] et [nom_produit2] ont le prix total suivant: [la somme de leurs prix.] b) Testez la méthode prixDeVente() avec et sans paramètres pour le même produit c) Créez un ArrayList d’objets Produit et affichez tous les détails des produits (vous devez utiliser une méthode toString()). d) Puis, affichez seulement les détails du produit le plus cher.

Devoir 1) Faites une classe, appelée Circle qui a: - trois attributs: le rayon et les deux coordonnées du centre (de type int); - un constructeur avec 3 paramètres (pour le rayon et les deux coordonnées du centre); - deux autres méthodes: getArea(), qui renvoie l'aire du cercle et getCircumference(), qui renvoie la circonférence du cercle. Ecrivez un programme qui crée un cercle (un objet de type Circle) et affichez l’aire et la circonférence de votre cercle.

Devoir 2) Ecrivez une classe Personne avec les attributs suivants: nom: Le nom de famille de la personne prénom: Le prénom de la personne âge: L'âge de la personne compris entre 0 et 100 ans sexe: Masculin ou Féminin. La classe Personne doit avoir les constructeurs suivants: Personne(): constructeur par défaut Personne(nom, prenom), Personne(nom, prenom, age), Personne(nom, prenom, age, sexe), Personne(Personne). La classe Personne doit contenir des accesseurs et mutateurs pour les différents attributs. Elle doit aussi contenir une méthode toString() donnant une représentation de la classe Personne. Ecrivez aussi une classe de testPersonne afin de tester la classe Personne : dans cette classe, créez un tableau ou un ArrayList d’objets Personne et affichez seulement les détails de la femme la plus âgée.

Devoir 3) Ecrivez une classe Rectangle avec les attributs suivants: longueur, largeur. La classe Rectangle doit avoir les constructeurs suivants: Rectangle(): constructeur par défaut, Rectangle(longueur, largeur), Rectangle(Rectangle). La classe Rectangle doit contenir des accesseurs et mutateurs (qui vérifient que les valeurs sont positives) pour les différents attributs. Elle doit aussi contenir les méthodes: périmètre: Le périmètre est égal à 2 * (longueur + largeur), aire: L'aire est égale à longueur * largeur, estCarre: vérifie si le rectangle est un carré, toString: donne une représentation d'un rectangle. Ecrivez aussi une classe TestRectangle afin de tester la classe Rectangle : créez deux rectangles et appelez toutes les méthodes de la classe Rectangle.

Rappel – Examen partiel L’examen partiel aura lieu Mardi suivant, le 22 novembre, a 10:00. L’examen va durer (approx.) 1h15 Vous aurez 5 exercices a choix multiples (séquences de code, choisir le résultat correct) et 2 problèmes où vous devez écrire vous- mêmes le code (comme on a fait aux TPs) Si vous voulez exercer vos algorithmes & structures de données: https://www.dropbox.com/s/81svzf1aj97vv6y/ lp_devoir_pour_tp8.pdf?dl=0