Shopy 101
← Programmation objet İndirmek için giriş yap
Fermeture Fermeture
Notation JSON Notation JSON
  1. Introduction
    Programmer en deux minutes
  2. Outils de développement
  3. Syntaxe
    1. Ligne d'instruction
    2. Ordre d'évaluation
    3. Bloc d'instructions
    4. Identificateurs
    5. Expression littérale
    6. Commentaire
    7. Mots réservés
    8. Variables
    9. Opérateurs
    10. Structures de contrôle
    11. Exceptions et erreurs
    12. Fonctions utilisateur
    13. Évènement
  4. Objets prédéfinis
    1. window
    2. document
    3. navigator
    4. Array
    5. Boolean
    6. Date
    7. Error
    8. Function
    9. Math
    10. Number
    11. Object
    12. String
    13. Element
    14. RegExp
  5. Fonctions prédéfinies
  6. Programmation avancée
    1. Opérateurs de bits
    2. Fermeture
    3. Programmation objet
    4. Notation JSON
    5. AJAX
    6. Stockage
    7. Générateurs
    8. Interface DOM
    9. Objets Microsoft
  7. Frameworks
    1. Dojo
      Hello World
      Widgets
      Ressources
    2. jQuery
    3. Node.js
    4. React.js
  8. Bibliothèques
    1. Datatables
  9. Tests
    1. Ava
    2. Jest
    3. Cypress
  10. Débogage
  11. Erreurs connues
  12. Références
  1. Introduction
    Programmer en deux minutes
  2. Outils de développement
  3. Syntaxe
    1. Ligne d'instruction
    2. Ordre d'évaluation
    3. Bloc d'instructions
    4. Identificateurs
    5. Expression littérale
    6. Commentaire
    7. Mots réservés
    8. Variables
    9. Opérateurs
    10. Structures de contrôle
    11. Exceptions et erreurs
    12. Fonctions utilisateur
    13. Évènement
  4. Objets prédéfinis
    1. window
    2. document
    3. navigator
    4. Array
    5. Boolean
    6. Date
    7. Error
    8. Function
    9. Math
    10. Number
    11. Object
    12. String
    13. Element
    14. RegExp
  5. Fonctions prédéfinies
  6. Programmation avancée
    1. Opérateurs de bits
    2. Fermeture
    3. Programmation objet
    4. Notation JSON
    5. AJAX
    6. Stockage
    7. Générateurs
    8. Interface DOM
    9. Objets Microsoft
  7. Frameworks
    1. Dojo
      Hello World
      Widgets
      Ressources
    2. jQuery
    3. Node.js
    4. React.js
  8. Bibliothèques
    1. Datatables
  9. Tests
    1. Ava
    2. Jest
    3. Cypress
  10. Débogage
  11. Erreurs connues
  12. Références

Programmation objet

Dans la programmation orientée objet, le programme est conçu pour que ses composants soient aussi modulaires que possible. En particulier, quand un nouveau type d'objet est créé, il devrait fonctionner sans problèmes lorsqu'il est placé dans un environnement différent ou nouveau projet de programmation, c'est à dire qu'il est indépendant. Le résultat est une réduction du temps passé dans la réécriture de code.

JavaScript utilise des objets pour représenter des types de données complexes. Ces objets sont de petites structures de données avec leurs propres champs et des fonctions d'accès ou de modification de ces données. Ces objets bénéficient d'une approche où les variables sont protégées de toute ingérence extérieure. Si les variables peuvent être modifiées directement par le code d'un programme en dehors de la fonction ou de l'objet, alors il ne peut plus être tributaire de donner un résultat précis.

Contrairement à d'autres langages de programmation, JavaScript n'a pas de niveaux de protection sur les membres d'un objet. JavaScript utilise un prototype de forme des objets, qui peuvent encore hériter de classes des parents, mais n'est pas une forme pure de langage orienté objet ; il s'agit un langage de programmation objet par prototype. Cependant, la plupart des modèles de conception peut encore s'appliquer au langage tant que l'on ne cherche pas à accéder directement à l'état interne de l'objet (par exemple, en utilisant les méthodes d'un objet).

Comme avec d'autres langages de programmation, en JavaScript, les références aux champs et fonctions d'un objet utilisent le point (.) entre l'objet et le nom du champ.

Mot clé new

Le mot clé new crée un nouvel objet.

item = new Object();

Méthodes et champs d'un objet

Dans JavaScript, les objets n'ont pas de forme fixe - ils peuvent se modifier en cours d'exécution pour crée un nouvel objet, ou pour créer des champs ou fonctions.

money = new Object();
money.quarters = 10;

Comme on le voit plus bas, on peut créer des méthodes pour l'objet de la même manière.

Function et prototype

En JavaScript, qui est un langage de programmation orientée prototype, chaque objet hérite des attributs et méthodes de son prototype.

Exemple :

\n\t\tanim.courir(50);\n\t\tanim.attaquer();\n\n"}}'>
		function Animal(race, sex)
		{
			this.race = race;
			this.sex = sex
			
			manger = function()
			{
				return "je mange";
			}
		}

		Animal.prototype.attaquer = function(){
			alert("J'attaque");
		};
	
		var anim = new Animal("labrador","male");
		
		anim.age = 10;
		anim.courir = function(vitesse){
			alert("Je cours à "+vitesse+" km/h");
		};

                // ->
		anim.courir(50);
		anim.attaquer();

Mot clé this

Le mot clé this est utilisé dans une méthode, et se réfère à l'objet qui est attaché à cette méthode.

money.addQuarters = function(amount) {
   this.quarters += amount;
}
money.addQuarters(10);

Paradigme de programmation classe/objet

\nvar saab = new Voiture('Saab');\nvar chrysler = Voiture.construire('Chrysler');\nchrysler.rouler();\nalert(saab.getMarque());\n"}}'>
/**
 * Modélisation d'une voiture
 *
 * @class Voiture
 */
var Voiture = (function () {
    //'use strict';

    Voiture.couleur = "verte";
    // methode de classe
    Voiture.construire = function (marque) {
        return new Voiture(marque);
    };

    // constructeur
    function Voiture(marque) {
        this.marque = marque;
    }

    // méthodes d'instance
    Voiture.prototype = {
        
        rouler: function (direction) {
            document.write("la voiture roule");
        },
        getMarque: function (){
        	return this.marque;
        }
    };
    
    return Voiture;
    
}());

// ->
var saab = new Voiture('Saab');
var chrysler = Voiture.construire('Chrysler');
chrysler.rouler();
alert(saab.getMarque());