Orienté objet est une méthode de compréhension et de résumé du monde réel, et est un produit du développement de la technologie de programmation informatique à une certaine étape.
La signification de l'objet
L'objet peut être une voiture, une personne, un animal, un texte, une forme ou tout ce qui existe, etc.
Les objets sont:
Attributs -----------------------------------------------------------------------------------------------------------------------------
Méthode -------------------------------------------------------------------------------------------------------------------------------
Événements -------- Peut répondre à ce qui arrive à l'objet.
Nous pouvons comprendre les objets en créant l'objet d'une personne
personnes:
Deux mains, deux pieds, une tête, et vous pouvez courir.
Les mains, les pieds et la tête sont des attributs humains, et la course est la méthode humaine.
Tout d'abord, créons un objet de la manière la plus simple
var personne = {tête: "un", main: "deux", pied: "deux", run: function () {console.log ("running"); }}Cette méthode n'est pas du tout pratique car elle est pour créer un objet séparé, et cet objet n'a aucun lien avec les structures de données communes.
Ensuite, nous créons un objet utilisant le constructeur
var person = function () {// Notez que la lettre initiale est capitalisée ce.head = "One", this.hand = "Two", this.foot = "Two", this.run = function () {alert ("running"); }} var joan = new personne (); document.write (joan.run ()) // "Running"Ceci est un objet créé avec un constructeur, puis nous ajoutons une ligne de code pour voir
var niki = new personne (); alert (joan == niki) // false;
Oui, deux instances d'objets différentes sont maintenant créées.
Chaque fonction dans JavaScript a un attribut prototype. Si une fonction est utilisée comme constructeur, cet attribut sera automatiquement créé par un nouvel appel pour créer le prototype de l'objet.
console.log (Joan)
Vous pouvez voir qu'il y a un __proto __: personne, où __proto__ est la chaîne prototype de Joan. C'est le prototype pointant vers la personne.
Lorsque JS crée un objet (qu'il s'agisse d'un objet normal ou d'un objet de fonction), il a une propriété intégrée appelée __proto__, qui est utilisée pour pointer le prototype d'objet prototype de l'objet de fonction qui l'a créé.
Une certaine compréhension des chaînes de prototypes est écrite très détaillée dans le livre JavaScript Advanced Programming. Si vous êtes intéressé, vous pouvez le vérifier. Il existe également des documents PDF disponibles en ligne. Mais il est recommandé d'acheter ce livre, qui prend en charge la version originale.
Ensuite, toute modification de la propriété prototype du prototype peut être appliquée à chaque objet d'instance construit avec une nouvelle personne (), qu'il soit créé avant ou après le changement. Ajoutez une nouvelle fonction à Person.prototype. Les détails sont les suivants:
var person = function () {// note, la lettre initiale est capitalisée this.head = "one", this.hand = "deux", this.foot = "deux"} personne.prototype.run = function () {alert ("running"); } var joan = new personne (); Joan.run () // "Running" Alert (Joan .__ Proto __ === Person.prototype) // 'true'Comme vous pouvez le voir, la méthode de création dans le prototype peut être appelée, et la chaîne du prototype de Joan pointe vers le prototype de la personne.
Regardez à nouveau:
var niki = new personne (); // "runing" personne.prototype.run = function () {alert ("Running Running")} joan.run () // "Running Running" niki.run () // "Running Running"Voir la méthode du prototype de la personne modifiant, toutes les méthodes dans les instances d'objet créées par New Person () sont modifiées car toutes les instances partagent la même méthode prototype exécutée. Il s'agit d'une application de prototypes.
C'est une compréhension de la création d'objets.
J'ai écrit depuis longtemps. Je ne sais pas s'il y a une erreur. S'il y a une erreur, veuillez me donner quelques conseils.
La prochaine fois, j'écrirai sur l'héritage orienté objet.
Ce qui précède est tout le contenu de la compréhension complète des objets de création de programmation JS OOP qui vous sont apportés par l'éditeur. J'espère que tout le monde soutiendra Wulin.com plus ~