Maison  >  Article  >  interface Web  >  js programmation orientée objet

js programmation orientée objet

hzc
hzcavant
2020-06-04 12:30:372140parcourir

1. Programmation orientée objet

1. Orientée processus et orientée objet

1) Orienté processus : se concentrer sur les étapes du processus permettant de résoudre un problème. La caractéristique de la programmation est que chaque étape du processus est mise en œuvre par des fonctions, sans le concept de classes et d'objets.

2) Orienté objet : concentrez-vous sur quel objet résout le problème. La caractéristique de la programmation est qu'une classe apparaît, l'objet est obtenu à partir de la classe et cet objet résout le problème spécifique.

Pour l'appelant, l'orientation processus nécessite que l'appelant implémente lui-même diverses fonctions. L'orientation objet nécessite uniquement que l'appelant comprenne les fonctions de méthodes spécifiques dans l'objet, mais n'a pas besoin de comprendre les détails d'implémentation de la méthode.

2. Les trois caractéristiques majeures de l'orienté objet

Les trois caractéristiques majeures de l'orienté objet sont l'héritage, l'encapsulation et le polymorphisme. JS peut simuler l'héritage et l'encapsulation, mais il ne peut pas simuler le polymorphisme. Par conséquent, JS est un langage basé sur les objets, plutôt qu'un langage orienté objet au sens traditionnel.


3. La relation entre les classes et les objets

1) Les classes sont abstraites, les objets sont concrets (les classes It est l'abstraction des objets, et les objets sont la concrétisation des classes)


2) La classe est un concept abstrait On peut seulement dire qu'une classe a des attributs et des méthodes, mais les attributs ne peuvent pas être attribués de manière spécifique. attributs. Par exemple, les humains ont des noms, mais nous ne pouvons pas dire quels sont leurs noms.

2. JavascriMéthode de création d'un objet pt

1.var obj = {}//Objet simple plainObject objet littéral/objet littéral

2. Constructeur (fonctionnalité : règle de dénomination des cas de gros chameau)

1) Le propre constructeur du système

var obj = new Object();/ /Équivalent à var object = {}

2) Encapsulation de fonction personnalisée

// Ce n'est qu'en ajoutant des paramètres à la fonction que la fonction peut être personnalisée et les fonctions correspondantes peuvent être modifiées à volonté Paramètre data doit être un nouvel objet lors de la production d'un objet

function Car(color){
        this.color=color;
        this.name = "BMW";
        this.height = "1400";
        this.lang = "4900";
        this.weight = 1000;
        this.health = 100;
        this.run = function(){
            this.health -- ;
        }
    }

var car = new Car("red");

3 étapes du principe interne du constructeur d'objet

1) Ajoutez implicitement un objet en haut du corps de la fonction : var this = {}

2) Exécutez le contenu dans le corps de la fonction

3) Renvoyez implicitement cet objet

 

3. Classe d'emballage

1. Les valeurs primitives ne peuvent pas avoir d'attributs et de méthodes (non défini, nul, nombre, booléen, chaîne)

2. Certaines valeurs originales peuvent être appelées après être passées par la classe d'empaquetage var num=123;//Pas un objet

var num1=new Number(123) ;//C'est un objet

3. Le processus de classe d'emballage implicite est le suivant

  var num = 4;
  num.len = 3;//隐式发生转换,新建一个数字对象,然后添加属性并赋值,最后删除这个对象,所以在执行过程中没有报错
  console.log(num.len);//再新建一个数字对象,添加属性,所以最后输出为undefined
        
  var str="abcd";
  str.length=2;
  console.log(str.length);
  //输出为4,在输出时原始值str包装类之后输出的为new String('abcd').length,字符串自带length属性,所以输出长度为4

Tutoriel recommandé :

"Tutoriel JS"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer