begin process at 2010 03 20 15:53:52
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Tutoriaux

 > PRESENTATION DE LA PROGRAMMATION ORIENTÉE OBJET (P2O)

PRESENTATION DE LA PROGRAMMATION ORIENTÉE OBJET (P2O)


 Information sur le tutoriel

Note :
5,33 / 10 - par 3 personnes
5,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

 Description

Voici un tutoriel qui vous expliquera pourquoi et comment programmer objet en javascript

Tutorial

Pourquoi la programmation orientée objet

La programmation orienté objet n'est que peu utilisée en javascript, mais de nombreux langages l'utilise,

pourtant la programmation orientée objet permet de réduire des codes parfois très longs

 

Quesque ce P2O ??

Quesqu’un objet.

Un objet (comme une voiture) à des caractéristiques :

une forme, une taille, une couleur.

Ainsi la programmation orienté permet de créer des modèles appelées classe.

Dès que l'on utilise ce modèle (la classe) on dit que l'on créer un objet de cette classe.

Tous les caractéristiques de ce modèles ("une forme, une taille, une couleur.") s'appellent membres

Exemple:

je définis une classe appelée voiture et je lui donne des caractéristiques :

chaque voiture à une marque, un modèle, une couleur, un kilométrage... 

en ligne de codes :

<script language=javascript>

function clvoiture (){// remarquer que l'on utilise function pour creer une classe et c'est pour cela que je rajoute cl et ainsi presenter que c'est une classe ....

var modèle;

var marque;

var couleur;

var kilometres;

}

</script>

Intégrer des déplacements

Imaginons que notre voiture soit en état de marche ...

Je veut bien que le modele , la marque , la couleur (quoique ) ne change pas qu'on avance mais les kilometres

c'est ainsi qu'il faut une fonction appellée methodes pour ajouter des kilomètres au compteurs.

Exemple codé:

<script language=javascript>

function mclavance (durée, vitesse)// et oui (faisant simple vitesse en k/h et la durée en h

{

this.kilometres += durée * vitesse;

}

function clvoiture (){

var modèle;

var marque;

var couleur;

var kilometres;

var avance ;

this.avance = mclavance; // pas de parenthèse ici...

}

</script>

Une classe je connais , mais comment l'utiliser ??

Sachez que vous faites des classes depuis que vous faites du javascript.

Et oui n'avez vous jamais écrit:

tab = new Array(8,16);// cela crée un tableau avec un 8 et un 16 ...

longueurtab = tab.lenght;

mais aussi :

var chaine = "la classe";

longueurchaine = chaine.lenght;

Pour plus de connaissances sur les arrays...

http://www.commentcamarche.net/javascript/jsarray.php3

Voila un exemple pour ma voiture..

<script language=javascript>

function mclavance (durée, vitesse)// et oui (faisant simple vitesse en k/h et la durée en h notez le  mcl.. (membres d'une classe)

{

this.kilometres += durée * vitesse;

};

function clvoiture (){

var modèle;

var marque;

var couleur;

var kilometres;

var avance 

this.avance = mclavance; // pas de parenthèse ici...};

voiture1  =  new clvoiture;

voiture1.modèle = "espace";

voiture1.marque = "renault";

voiture1.couleur= "rouge";

voiture1.kilomètres = 0;// elle est surement neuve...

voiture1.avance(1.5,30);// elle roule 1.5 h et a 30 ... Paris est encombré, heureusement que c'est celle de mes parents ...

</script>

 

Quelques trucs utiles...

clvoiture est une fonction vous pouvez ainsi lui passer des arguments ("new Array(8,16);");

exemple codé:

<script language=javascript>

function mclavance (durée, vitesse)// et oui (faisant simple vitesse en k/h et la durée en h

{

this.kilometres += durée * vitesse;

};

function clvoiture (modele,marque,couleur,kilometres){

// var modèle = modele; NE MARCHE PAS donc:

var modèle;

this.modèle = modèle;

var marque;

this.marque = marque;

var couleur;

this.couleur = couleur;

// le javascript étant très tolérant : on peut faire ceci:

this.kilometres = kilometres;

var avance 

this.avance = mclavance; // pas de parenthèse ici...

};

voiture1  =  new clvoiture("espace","marque","grise",0);

voiture1.avance(1.5,30);// elle roule 1.5 h et a 30 ... Paris est encombré, heuresement que c'est celle de mes parents ... ETdes parenthèses ET ondit avance;

// sachez que la voiture a maintenant 45 kilometres....

</script>

Sachez que les objets sont des variables donc passable en arguments ...

Une hierachie ....

Pensez qu'il existe des camions (et des cars(au sens français) ..)et que pour eux il faut rajouter des caractéristiques en plus (chauffeur,...)

Ainsi les classes ont une hiérarchies et peuvent ainsi récupérer des propriétés de leurs aînées ...

<script language=javascript>

function mclavance (durée, vitesse)// et oui (faisant simple vitesse en k/h et la durée en h

{

this.kilometres += durée * vitesse;

};

function clvoiture (modele,marque,couleur,kilometres){

this.modèle = modèle;

this.marque = marque;

this.couleur = couleur;

this.kilometres = kilometres;

this.avance = mclavance; // pas de parenthèse ici...

};

sclcamion.prototype = clvoiture();

function sclcamion (modele,marque,couleur,kilometres,chauffeur)

{

this.parent = climg;


this.parent(plx, ply, tx, ty, src, nom);

this.chauffeur =chauffeur;

};

</script>

Voila je pense que le  problème a été traité; bonne classification ...

n'hésitez pas à rajouter des commentaires...

 

 

                                                                                 

 

Commentaires

Commentaire de Arto_8000 le 30/06/2005 00:53:03

Je connaissait déjà ça ,mais je trouve que c'est très bien expliquer.Je mets 10.

Commentaire de Ricou13 le 02/08/2005 12:21:50

Quand tu as pompé, en les raccourcissant, les codes de ce tutoriel : http://www.aidejavascript.com/article38.html,
tu t'es trompé, concernant la classe camion, en recopiant ton code plutot que l'original :

La sous-classe Camion

On va créer une nouvelle classe des camions qui sera une sous-classe de la classe Vehicule :

Camion.prototype = new Vehicule() ;

function Camion(marque, modele, numero, km, prix, PU, PTC) {
   this.parent = Vehicule;
   this.parent(marque, modele, numero, kms, prix);      
   this.PU = PU;
   this.PTC = PTC;
}

function Camion_afficher() {
  return this.marque + " " + this.modele + " " + this.numero + " " + this.km + " kms " + this.prix + " € " + this.PU + " " + this.PTC + "<br>";

Le lien d’héritage

Le lien d’héritage entre la classe Camion et la classe Vehicule a été créé par Camion.prototype = new Vehicule();. Ainsi que par les 2 premières lignes du constructeur Camion().

Je te met donc 1 pour ne pas avoir cité ta source qui est beaucoup plus complète.

Commentaire de rrk275 le 22/09/2005 20:40:34

sache que c'est en partie vrai en regardant le commentaire je me suis dit c'est totalement faux mais en regardant ton site. J'ai effectivement que c'étais celui ci que j'avais utilisé (pour apprendre) et ma memoire (inconsciente) a repris cet exemple.

totalement confus....

Commentaire de x1fabrice1x le 05/06/2007 02:39:50

Il manque des nombreuses notions:
- prototype,
- hasOwnProperty,
- new Object().
- copie d'objets
- objets imbriqués.


Commentaire de petitefillledelamontagne le 07/01/2010 15:50:47

Trop bon cet exemple!!!! je connaissais la prog objet moi aussi.Suis une fille pas très intéressée par les voitures.A la recherche d'un peu plus d'info sur javascript. Et benh voila c'est fait grace à toi js ca va être du gâteau.MERCI

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,172 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales