La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les notions de classe et d'objet

Présentations similaires


Présentation au sujet: "Les notions de classe et d'objet"— Transcription de la présentation:

1 Les notions de classe et d'objet

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

3 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

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

5 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

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

7 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

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

9 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

10 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

11 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

12 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

13 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

14 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(..);

15 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

16 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

17 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éé

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

19 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);

20 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.

21 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

22 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; }

23 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 ?

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

25 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.


Télécharger ppt "Les notions de classe et d'objet"

Présentations similaires


Annonces Google