[[slam4:poo]]

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
slam4:poo [2012/09/13 16:51]
jcheron [Polymorphisme]
slam4:poo [2017/08/09 16:34] (Version actuelle)
Ligne 1: Ligne 1:
-====== ​Rappels ​====== +====== ​POO ====== 
-===== Encapsulation ===== +  * [[slam4:​poo:​rappels|Rappels]] 
-L'​encapsulation consiste à protéger une partie des membres d'un objet, de façon à contrôler son utilisation et à rendre interne une partie de son comportement. +  * [[slam4:​poo:​designpattern|Patrons ​de conception]] 
- +  * [[slam4:​poo:​db|Accès ​aux bases de données]] 
-L'​encapsulation est généralement mise en oeuvre à partir des types d'​accès définis dans la classe sur ses membres. +  * [[slam4:orm|Solutions de persistance]]
- +
-==== Types d'​accès ==== +
- +
-^Accès ^Rôle ​+
-Privé (private) |Accessibilité dans l'​objet lui-même (this) uniquement. | +
-| Protégé (protected) |id Privé + Accessibilité dans les classes dérivées | +
-| Public (public) |id Protégé + Accessibilité ​de l'​extérieur,​ sur une instance de la classe | +
- +
-=== Exemples java=== +
-== Private == +
- +
-<code java |h Déclaration & accès>​ +
-public class Base { +
- private int member; +
- public int getMember(){ +
- //Accès ​possible à this.member ou member sur l'​instance this de la classe +
- return this.member;​ +
-+
-+
-</​code>​ +
- +
-== Protected == +
- +
-<code java |h Déclaration & accès>​ +
-public class Base { +
- protected int pMember; +
- +
- public int getpMember() { +
- return pMember; +
-+
-+
- +
-public class Derivee extends Base { +
- public void maminpulePMember(){ +
- //Accès possible à this.member ou member sur l'​instance this de la classe dans la classe dérivée +
- System.out.println(this.pMember);​ +
-+
-+
- +
-</​code>​ +
- +
-== Public == +
- +
-<code java |h Déclaration & accès>​ +
-public class Base { +
- protected int pMember; +
- public static int count; +
- +
- public int getpMember() { +
- return pMember; +
-+
-+
- +
- +
-public class Programme { +
- +
- /** +
-@param args +
- */ +
- public static void main(String[] args) { +
- Base b=new Base(); +
- //Accès au membre public de classe count +
- Base.count++;​ +
- //Accès au membre public getpMember sur une instance de Base +
- System.out.println(b.getpMember());​ +
-+
- +
-+
- +
-</​code>​ +
- +
-==== Règles de mise en oeuvre ==== +
- +
-Les membres de données ne doivent jamais être à portée publique, excepté les membres de données statiques (de classe). +
-Il est ensuite possible de contrôler l'​accès à ces données protégées en ajoutant des accesseurs, en lecture et/ou en écriture. +
- +
-==== Méthodes d'​accès ==== +
- +
-=== Accesseur en lecture === +
-Le rôle d'un accesseur en lecture est de retourner la valeur d'un membre privé. +
- +
-<code java> +
-public int getpMember() { +
-        return pMember; +
-+
-</​code>​ +
- +
-=== Accesseur en écriture (modificateur) === +
- +
-Le rôle d'un accesseur en écriture est de permettre la modification d'un membre privé, par affectation de la valeur passée en paramètre. +
- +
-<code java> +
-public void setpMember(int pMember) { +
-        this.pMember=pMember;​ +
-+
-</​code>​ +
- +
-===== Construction d'​objets ===== +
- +
-Un constructeur est une méthode d'une classe permettant l'​instanciation d'​objets. Plusieurs constructeurs peuvent être implémentés dans une classe.\\ +
-On parle dans ce cas de surcharge (overloading).\\ +
-Le rôle d'un constructeur est de permettre de créer des instances d'​objets cohérentes,​ dont les membres sont correctement initialisés. +
- +
-===== Polymorphisme d'​héritage===== +
-Le polymorphisme est un concept permettant de simuler le changement de comportement ou de forme d'un objet, au cours de l'​exécution d'un programme. +
-{{:slam4:polymorphisme.png}} +
- +
-===== Interface ===== +
slam4/poo.1347547862.txt.gz · Dernière modification: 2017/08/09 16:32 (modification externe)
GNU Free Documentation License 1.3
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0