


Bases de la programmation orientée objet JavaScript : encapsulation
Pendant longtemps (je veux me réjouir ici), js a été "une sorte d'embellissement, remplissant des fonctions très limitées, comme la validation de formulaire, et son langage lui-même a été considéré comme un langage procédural. Il est difficile de remplir des fonctions complexes. Cependant (je tiens à le dire avec amertume et tristesse), "l'émergence d'Ajax a fait des scripts complexes un composant nécessaire, ce qui a mis en avant de nouvelles exigences pour la programmation JavaScript. De nombreuses applications Ajax ont commencé à utiliser JavaScript orienté objet. Les propriétés sont développées pour rendre la logique plus claire. En fait, JavaScript fournit un mécanisme complet pour mettre en œuvre des idées de développement orientées objet. Oh mon Dieu, je ne voulais pas apprendre et je n’ai pas osé apprendre, mais maintenant je dois serrer les dents et apprendre.
Il y a tellement de bêtises à propos des objets ici. Nous savons tous que les trois principales caractéristiques de la programmation orientée objet sont : l'encapsulation, l'héritage et le polymorphisme. Ci-dessous, nous enregistrerons quelques expériences d’apprentissage autour de ces trois caractéristiques.
D'accord, commençons par l'encapsulation. Comme nous le savons tous, les objets sont l'unité la plus basique de l'encapsulation. L'encapsulation évite l'impact des changements provoqués par les interdépendances des programmes. L'encapsulation orientée objet est plus claire et plus puissante que l'encapsulation de langage traditionnel. Le code n'est pas cher. Regardons un code simple :
// Définir une classe en définissant une fonction
function class1() {
// Définition des membres de la classe et du constructeur
// Ici, class1 est à la fois une fonction et une classe. En tant que fonction, il peut être compris comme le constructeur d'une classe, responsable de l'initialisation.
}
// Utiliser l'opérateur new pour obtenir une instance d'une classe
var obj = new class1();
/* Mettre de côté la notion de classe, de la forme de le code, class1 est une fonction, donc toutes les fonctions peuvent-elles être utilisées avec new ? La réponse est oui.
En JavaScript, les fonctions et les classes sont le même concept. Lorsqu'une nouvelle fonction est créée, un objet sera renvoyé. S'il n'y a aucun membre de classe initialisé dans cette fonction, un objet vide sera renvoyé.
En fait, lorsqu'une nouvelle fonction est créée, cette fonction est le constructeur de la classe représentée, et tout le code qu'elle contient peut être considéré comme travaillant pour initialiser un objet. Les fonctions utilisées pour représenter les classes sont également appelées constructeurs.
En JavaScript, chaque objet peut être considéré comme une collection de plusieurs propriétés (méthodes)
*/
function test() {
alert( typeof (obj)); }
Le code ci-dessus définit une classe class1, qui est une simple encapsulation en js Voyons comment js définit une "classe statique",
fonction. class1() { // Constructeur
}
// Propriété statique
class1.staticProperty = " test "
// Méthode statique
class1.staticMethod = function () {
alert(class1.staticProperty);
}
function test() {
// Appeler la méthode statique
class1.staticMethod(
alert( typeof ( class1));
}
Ensuite, regardez "classe abstraite" :
/*
Dans les langages orientés objet traditionnels, les méthodes virtuelles dans les classes abstraites doivent d'abord être déclarées, mais peut être appelé à partir d’autres méthodes.
En JavaScript, les méthodes virtuelles peuvent être considérées comme des méthodes qui ne sont pas définies dans la classe, mais qui ont été utilisées via ce pointeur.
Contrairement aux méthodes traditionnelles orientées objet, les méthodes virtuelles n'ont pas besoin d'être déclarées ici mais sont utilisées directement. Ces méthodes seront implémentées dans la classe dérivée
*/
// Définir la méthode d'extension
Object.extend = function (destination, source) {
for (property in source) {
destination[propriété] = source[propriété];
}
return destination;
}
Object.prototype.extend = function (object) {
return Object. extend. apply( this , [ this , object]);
}
// Définir une classe de base abstraite, pas de constructeur
function base() { }
base.prototype = {
initialize: function () {
this .oninit(); // Appelé une méthode virtuelle
}
}
// Définir class1
function class1() {
// Constructeur
}
// Laisser class1 hériter de base et implémenter la méthode oninit
class1.prototype = ( new base()).extend({
oninit: function () { // Implémenter le méthode virtuelle oninit dans la classe de base abstraite
// Implémentation de la fonction oninit
}
});
Nous voyons que ci-dessus "laisser la classe 1 hériter de la base et y implémenter oninit" Méthode ", la notion d'"héritage" est utilisée, veuillez faire attention. Jetons un coup d'œil à l'effet de l'exécution :
function test() {
var obj = new class1();
obj.oninit = function () { alert( " test " ); }
obj.oninit();
}

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Discussion approfondie des causes profondes de la différence de sortie Console.log. Cet article analysera les différences dans les résultats de sortie de la fonction Console.log dans un morceau de code et expliquera les raisons derrière. � ...

Une fois que vous avez maîtrisé le didacticiel TypeScript de niveau d'entrée, vous devriez être en mesure d'écrire votre propre code dans un IDE qui prend en charge TypeScript et de le compiler en JavaScript. Ce tutoriel plongera dans divers types de données dans TypeScript. JavaScript a sept types de données: null, non défini, booléen, numéro, chaîne, symbole (introduit par ES6) et objet. TypeScript définit plus de types sur cette base, et ce tutoriel les couvrira tous en détail. Type de données nuls Comme javascript, null en typeScript

La discussion sur la réalisation des effets de défilement de parallaxe et d'animation des éléments dans cet article explorera comment réaliser le site officiel de Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ...

JavaScript peut être exécuté dans PowerPoint et peut être implémenté en appelant des fichiers JavaScript externes ou en intégrant des fichiers HTML via VBA. 1. Pour utiliser VBA pour appeler les fichiers JavaScript, vous devez activer les macros et avoir des connaissances en programmation VBA. 2. ENCHED des fichiers HTML contenant JavaScript, qui sont simples et faciles à utiliser mais sont soumis à des restrictions de sécurité. Les avantages incluent les fonctions étendues et la flexibilité, tandis que les inconvénients impliquent la sécurité, la compatibilité et la complexité. En pratique, l'attention doit être accordée à la sécurité, à la compatibilité, aux performances et à l'expérience utilisateur.
