JavaScript - encapsulation et héritage (deux)

Crystal Iwwish 2021-11-25 18:50:44
javascript encapsulation et ritage deux


Méthode du constructeur

Un.、Encapsulation

1.1Espace de noms

 // Espace de noms:Traiter les variables comme des attributs,Essentiellement un objet littéral
let zsf = {

uname : 'Li - si.',
age : 22,
email : 'zsf@qq.com'
}
let lxh = {

uname : 'Zhang San',
age : 21,
email : 'lxh@qq.com'
}
let zwj = zsf;
zwj.uname = 'Wang Wu'
console.log( zsf.uname, lxh.uname );
//L'inconvénient est Celui qui a fini d'encapsuler ne peut utiliser que,Personne d'autre ne peut l'utiliser.

Insérer la description de l'image ici

1.2Constructeur

 // Constructeur:Considérez le constructeur comme un modèle
function Person(uname, age) {

this.uname = uname;
this.age = age;
this.eat = function () {

console.log("Méthodes");
};
}
let zsf = new Person("haha", 22);
console.log(zsf);

1.3Objet prototype

 // Membres sur le prototype (Propriétés Et Méthodes) Tout est partagé avec l'objet instance ,
// _proto_,(Prototypes)Pointer vers l'objet prototype, Propriétés de chaque objet ,Propriétés non standard
function Person(uname, age) {

this.uname = uname;
this.age = age;
// this.eat = function () {

// console.log("Méthodes");
// };
}
Person.prototype.eat = function () {

console.log("Prototypes");
};
let obj = new Person("haha", 22);
console.log(obj);

2.、Succession

Héritage du prototype

 function Person() {

this.arms = 2;
this.legs = 2;
this.eyes = 2;
// Comportement humain 
this.walk = function () {
};
this.sing = function () {
};
this.sleep = function () {
};
}
function Chinese() {

// Caractéristiques chinoises 
skin = "yellow";
language = "En chinois";
}
// Encapsulant les caractéristiques comportementales des japonais 
function Japanese() {

// Caractéristiques japonaises 
skin = "yellow";
language = "Japonais";
}
// 1. Hériter de l'objet prototype 
// 2. Reculez. 
Chinese.prototype = new Person();
Chinese.prototype.constructor = Chinese;
Japanese.prototype = new Person();
Japanese.prototype.constructor = Japanese;
// console.log(p);
let c1 = new Chinese();
console.log(c1);
let c2 = new Japanese();
console.log(c2);

Insérer la description de l'image ici

Chaîne prototype

Insérer la description de l'image ici


Méthode de la classe

Un.、Encapsulation

Créer une classe:

 // Créer une classe
class Person {

// Écrivez la logique d'encapsulation ici 
name='Petit Rouge.' //Membres de l'Instance
static age=22 //Membres statiques
}
// Instanciation
let p1 = new Person();
console.log(p1);

Construire une fonction d'encapsulation :

 class Person {

// Lors de l'Instanciation Exécution immédiate
// Constructeur、Méthode de construction、Constructeur
constructor (name, age) {
 // Ce n'est pas une méthode qui doit exister dans une classe 
this.name = name;
this.age = age;
}
// Exemple de méthode
walk () {

console.log(this.name + 'Marche.');
}
}
// Instanciation
let p1 = new Person('Xiao Ming', 18);
p1.walk();

2.、Succession

2.1 extends

 class Person {

// Propriétés de la classe mère
legs = 2;
arms = 2;
eyes = 2;
// Méthode de la classe mère
walk () {

console.log('Marche.');
}
// Méthode de la classe mère
sleep () {

console.log('Dormez.');
}
}
// Chinese Hérité Person Toutes les caractéristiques de
class Chinese extends Person {
}
// Instanciation
let c1 = new Chinese();
c1.walk();

2.2 super( Dans les sous - classes héritées constructor Le milieu doit être réglé super Fonctions,Sinon, il y aura des erreurs de syntaxe)

class Father {

constructor (uname, age) {

this.uname = uname;
this.age = age;
}
qian () {

console.log('Ha ha ha');
}
}
// Si la Sous - classe A sa propre constructor,Alors il faut utilisersuperAppeler la méthode de la classe mère
// super:Appeler la méthode de la classe mère
class Son extends Father {

constructor (u, a, score) {

super(u, a);// Doit être appelé en premiersuper
this.score = score;
}
qian () {

console.log('Hee - Hee - hee');
super.qian();
}
}
let s = new Son('Fils', 23, 99);
console.log( s );
s.qian();

Ce qui précède signifie que , Les sous - classes ont leurs propres attributs ou méthodes , Donc la Sous - classe A sa propre constructor,Alors il faut utilisersuperAppeler la méthode de la classe mère

版权声明
本文为[Crystal Iwwish]所创,转载请带上原文链接,感谢
https://javamana.com/2021/11/20211125184339664p.html

  1. hive学习笔记之二:复杂数据类型,五分钟搞懂MySQL主从复制原理
  2. hive学习笔记之一:基本数据类型,java实现分页技术详解
  3. HDU-3038-How Many Answers Are Wrong【 带权并查集 】题解,java实战项目论坛
  4. HDU 1078 FatMouse and Cheese(记忆化搜索,DP,rocketmq教程教程
  5. [Java multithreading] static synchronized method and synchronized (class) code block
  6. [Java multithreading] synchronized statement block
  7. [Java multithreading] synchronized synchronization method
  8. [Java multithreading] thread priority and guard thread
  9. [Java multithreading] stop the thread
  10. Several methods of [Java multithreading] thread
  11. [Java multithreading] Java multithreading skills
  12. Structure des données Python: tableaux, listes, piles, files d'attente et implémentations
  13. Re - Learning Swagger 2.0 and Swagger 3.0 of Spring Series
  14. Error editing HTML5 using webstorm
  15. 【Spring】mybatis-spring
  16. JavaScript post request returned an exception, possibly Cross - Domain request
  17. 图解 Kafka 线程模型及其设计缺陷
  18. Springboot + mybatis Plus + springsecurity + JWT implements user stateless request authentication (front and back end separation)
  19. SQL injection and XSS attack of springboot security vulnerability
  20. Docker employee readme: Why did docker lose to kubernetes?
  21. 19 high force linux commands, hurry to use them!
  22. Add data files for Oracle tablespaces or temporary tablespaces
  23. Intellij IDEA神器居然还有这些小技巧,mysql集群搭建视频
  24. IntelliJ IDEA(2019)之Web项目创建,掌门一对一java面试题
  25. InnoDB(2,如何访问Redis中的海量数据
  26. InheritableThreadLocal使用详解,java多线程面试题及答案整理
  27. How does Oracle modify the data type of a column
  28. Oracle 12C 12.1.0.1.0 management control file official document translation instructions
  29. Oracle 10g 10.2.0.1 in Oracle Linux 5.4 32bit RAC installation manual (Yimo Xiyang)
  30. Oracle 12C in Oracle Linux 6.5 64bit installation manual
  31. 一天十道Java面试题----第一天(面向对象-------》ArrayList和LinkedList)
  32. Schéma du modèle de fil Kafka et de ses défauts de conception
  33. Starting and shutting down Oracle RAC database cluster
  34. CRS_ Oracle CRS stack is already configured and will be running under init(1M)
  35. Common skills of Oracle stored procedure
  36. Check the number of CPUs, core books and threads of the Linux system
  37. jQuery-实例方法
  38. Oracle de duplicated data
  39. jQuery-dom和jQuery,入口函数(基本知识)
  40. Oracle creates unique constraints on columns that already have duplicate data
  41. JavaScript-拷贝
  42. JavaScript-this指向问题
  43.  There is ^ [[a garbled code problem in the up and down keys in Oracle sqlplus
  44. JavaScript-封装与继承(两种)
  45. JavaScript-包装类型
  46. JavaScript-传值(引用类型,基本类型)
  47. JavaScript-面向对象(构造函数,实例成员,静态成员)
  48. JavaScript-解构赋值
  49. JavaScript-箭头函数
  50. JavaScript-参数
  51. JavaScript-预解析(变量提升)
  52. JavaScript-闭包closure
  53. JavaScript-声明变量的关键字
  54. JavaScript - mot - clé pour déclarer une variable
  55. Fermeture de fermeture JavaScript
  56. JavaScript Pre - parse (promotion des variables)
  57. Paramètres JavaScript
  58. Common annotations in springboot
  59. JavaScript - orienté objet (constructeur, membre d'instance, membre statique)
  60. JavaScript value Transfer (reference type, Basic type)