[[slam4:poo]]

Ceci est une ancienne révision du document !


Rappels

Encapsulation

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.

L'encapsulation est généralement mise en oeuvre à partir des types d'accès définis dans la classe sur ses membres.

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
|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;
	}
}
Protected
|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);
	}
}
Public
|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());
	}
 
}

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

public int getpMember() {
        return pMember;
}

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.

public void setpMember(int pMember) {
        this.pMember=pMember;
}

Construction d'objets

slam4/poo.1346936494.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