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

Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition dune classe Définition des attributs (caratéristiques)

Présentations similaires


Présentation au sujet: "Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition dune classe Définition des attributs (caratéristiques)"— Transcription de la présentation:

1

2

3

4 Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition dune classe Définition des attributs (caratéristiques) encapsulation (avec private) this constructeur classes immuables (get) classes mutables (set) destructeur (finalize) Autres méthodes (opérateurs, comportements, …) Mot clé static Construction dune classe

5 Concepts Surcharge –Il est possible que plusieurs fonctions aient le même nom. –Il faut que le type des paramètres formels ou que le type de la valeur de retour soient différents. Exemple : int pow(int,int) double pow(double, int) –Cest à partir des paramètres effectifs que lappel est déterminé.

6 Concepts Redéfinition –Il est possible que plusieurs fonctions aient le même nom, les mêmes types pour les paramètres formels et le même type de valeur de retour. –Cest la fonction la plus proche qui sera appelée au point de vue visibilité. –On ne peut pas redéfinir une méthode dans un même bloc.

7 Définition de classe Un langage orienté-objet –Encapsulation –Héritage –Polymorphisme dynamique Encapsulation Cest rendre indépendant lutilisation dun classe de son implémentation. Réalisation de lencapsulation en java –Lencapsulation se fait grâce à laide dattributs ayant le modificateur daccès private. –Seules les membres de la classe (exclus les objets) peuvent utiliser ces attributs.

8 Rappel : public class Personne{ private String nom; } Personne unePersonne; //définit un objet de la classe Personne unePersonne.nom //illegal car lattribut nom est private –Une classe offrira laccès à ses attributs via des méthodes. Définition de classe

9 –Les attributs dune classe sont toujours initialisés par défaut à lopposé des variables locales dun sous programme. Exemple : public class Personne{ private String nom; //nom est égal à null private int age; //age est égal à 0; public void uneFonction() { int age; //age nest pas initialisé ici } } Définition de classe

10

11

12 Identificateur this this –Cest une référence gérée par Java et nest utilisable quà lintérieur dune classe. On parle de lobjet actuel. –Cette référence pointe sur lobjet qui a appelé la méthode. Cest ni plus ni moins que lobjet en avant du point au moment de lappel de la méthode. –Utilisable seulement dans les méthodes non static dune classe. Soit : Public class Personne { String nom; public void setNom(String nom) { this.nom = nom; } }

13 Identificateur this Soit : public class UneClasse int x; public void methode1(){ this.x = 5;... } UneClasse objet1 = new UneClasse(); UneClasse objet2 = new UneClasse(); objet1.methode1(); //this == objet1 dans methode1() objet2.methode1(); //this == objet2 dans methode1() 5 objet 1 x objet2 X 5

14 Définition de classe Rappel : Une classe est constituée dattributs et de méthodes. Une méthode est un sous programme que lon peut démarrer à partir dune autre méthode dune classe, dune classe ou dun objet selon le modificateur daccès et si elle est static ou non. Les méthodes contenues dans une classes se divisent en plusieurs catégories Constructeurs Accesseurs Mutateurs Destructeur Les autres méthodes (opérateurs, comportements, …)

15 Définition de classe Constructeurs Méthodes qui permettent de créer une instance(objet) et dinitialiser les attributs de cet instance au moment de son instanciation (new). Il y a réservation despace mémoire à ce moment seulement –Porte le même nom que la classe. –Na aucun type de retour dans sa définition mais retourne une instance de la classe. Définition : public String(String original){…} Appel : String s = new String(« allo »); //appel le constructeur –Si aucun constructeur nest écrit, il en existe un par défaut qui ne fait rien et les attributs sont initialisés avec leur valeur par défaut (selon le type).

16 Définition de classe –Peut être surchargé Exemple : public class String{ public String(String original) {…}String public String(char[] value) {…} public String(StringBuffer buffer) {…}StringBuffer … } –Aussitôt quil y a un constructeur écrit, celui par défaut nexiste plus, il faut lécrire explicitement pour en avoir un. Exemple : public String(){}

17

18

19

20

21

22

23

24 Définition de classe Accesseurs Méthodes qui permettent dobtenir le contenu des attributs privés dune classe. –Souvent commence par « get » –Si une classe na que des accesseurs, on dit quelle est immuable (non modifiable). –Na habituellement pas de paramètres et sert à retourner le contenu dun attribut privé. Exemple : public String getNom() { return nom; }

25 Définition de classe Mutateurs Méthodes qui permettent de modifier le contenu des attributs privés dune classe. –Souvent commence par « set » (setNom, setAge, setPrenom,…). –Si une classe a des mutateurs, on dit quelle est mutable (modifiable). –Ne retourne habituellement rien et a un paramètre qui remplacera le contenu dun attribut Exemple : public void setNom(String nom) { this.nom = nom; }

26 Définition de classe Les comportements Celles qui définissent le comportement des instances de la classe ou de la classe elle-même, qui ne sont pas des autres catégories citées avant. Exemple : copie() //retourne une copie dun objet toString() //retourne une chaîne de caractères //représentant lobjet equals() //opérateur relationnel de comparaison Etc.

27 Définition de classe Destructeur Méthode qui permet, lors de la fin de la portée dun objet, de remettre au système les ressources utilisées par un objet. –Cette méthode est appelée automatiquement lorsque la dernière référence à une instance ny fait plus référence. Par exemple x = null; Sil ny a aucune autre référence sur linstance sur laquelle x pointait, la méthode Finalize() est appelée. –Les ressources utilisées peuvent être une imprimante, de la mémoire, etc. Cela pourrait être aussi de terminer une autre application, … Exemple : public void Finalize() { //le code à exécuté } ****Nous nen utiliserons pas dans ce cours

28 Mot clé static static La valeur dun membre public définie comme étant static existe pour tous les objets dune même classe. Un attribut static nest pas initialisé lors de linstanciation dun objet mais une seule fois au début dun programme. Sil y a une modification faite par un objet sur un attribut static, tous les autres objets de cette classe en verront les effets. On peut les voir comme des membres appartenant à toute la classe et non à un objet en particulier. this ne peut pas être utilisé dans une méthode static

29 Mot clé static Règles –On ne peut utiliser directement que des variables locales ou des membres static dans une méthode static(pensez à main()). –On se sert du nom de la classe (norme) pour utiliser des membres static et non du nom dun objet. –Ex: Math.pow() –La fonction main() na pas accès aux membres de la classe dans laquelle elle est définie à moins quils soient static (Ça on le savait déjà.

30

31 Exemple public class ExempleStatic { private static int n; //constructeur par défaut public ExempleStatic (){ n = n + 1; } public static int getNombreObjet(){ return n; } } ExempleStatic e1 = new ExempleStatic(); ExempleStatic e2 = new ExempleStatic(); ExempleStatic e3 = new ExempleStatic(); System.out.print(ExempleStatic.getNombreObjet()); //affichera 3

32 FIN DU COURS


Télécharger ppt "Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition dune classe Définition des attributs (caratéristiques)"

Présentations similaires


Annonces Google