JavaScript - Présentation des objets

JavaScript est un langage de programmation orientée objet (POO). Un langage de programmation peut être appelé orienté objet s'il fournit quatre capacités de base aux développeurs -

  • Encapsulation - la capacité de stocker des informations connexes, qu'il s'agisse de données ou de méthodes, ensemble dans un objet.

  • Aggregation - la capacité de stocker un objet dans un autre objet.

  • Inheritance - la capacité d'une classe à s'appuyer sur une autre classe (ou un nombre de classes) pour certaines de ses propriétés et méthodes.

  • Polymorphism - la capacité d'écrire une fonction ou une méthode qui fonctionne de différentes manières.

Les objets sont composés d'attributs. Si un attribut contient une fonction, il est considéré comme une méthode de l'objet, sinon l'attribut est considéré comme une propriété.

Propriétés des objets

Les propriétés d'objet peuvent être l'un des trois types de données primitifs ou l'un des types de données abstraits, comme un autre objet. Les propriétés d'objet sont généralement des variables utilisées en interne dans les méthodes de l'objet, mais peuvent également être des variables globalement visibles utilisées dans toute la page.

La syntaxe pour ajouter une propriété à un objet est -

objectName.objectProperty = propertyValue;

For example - Le code suivant obtient le titre du document en utilisant le "title" propriété du document objet.

var str = document.title;

Méthodes d'objets

Les méthodes sont les fonctions qui permettent à l'objet de faire quelque chose ou de lui faire quelque chose. Il y a une petite différence entre une fonction et une méthode - à une fonction se trouve une unité autonome d'instructions et une méthode est attachée à un objet et peut être référencée par lethis mot-clé.

Les méthodes sont utiles pour tout, de l'affichage du contenu de l'objet à l'écran à l'exécution d'opérations mathématiques complexes sur un groupe de propriétés et de paramètres locaux.

For example - Voici un exemple simple pour montrer comment utiliser le write() méthode de l'objet document pour écrire n'importe quel contenu sur le document.

document.write("This is test");

Objets définis par l'utilisateur

Tous les objets définis par l'utilisateur et les objets intégrés sont les descendants d'un objet appelé Object.

Le nouvel opérateur

le newL'opérateur est utilisé pour créer une instance d'un objet. Pour créer un objet, lenew l'opérateur est suivi de la méthode constructeur.

Dans l'exemple suivant, les méthodes du constructeur sont Object (), Array () et Date (). Ces constructeurs sont des fonctions JavaScript intégrées.

var employee = new Object();
var books = new Array("C++", "Perl", "Java");
var day = new Date("August 15, 1947");

Le constructeur Object ()

Un constructeur est une fonction qui crée et initialise un objet. JavaScript fournit une fonction de constructeur spéciale appeléeObject()pour construire l'objet. La valeur de retour duObject() constructeur est affecté à une variable.

La variable contient une référence au nouvel objet. Les propriétés affectées à l'objet ne sont pas des variables et ne sont pas définies avec levar mot-clé.

Exemple 1

Essayez l'exemple suivant; il montre comment créer un objet.

<html>
   <head>
      <title>User-defined objects</title>     
      <script type = "text/javascript">
         var book = new Object();   // Create the object
         book.subject = "Perl";     // Assign properties to the object
         book.author  = "Mohtashim";
      </script>      
   </head>
   
   <body>  
      <script type = "text/javascript">
         document.write("Book name is : " + book.subject + "<br>");
         document.write("Book author is : " + book.author + "<br>");
      </script>   
   </body>
</html>

Production

Book name is : Perl 
Book author is : Mohtashim

Exemple 2

Cet exemple montre comment créer un objet avec une fonction définie par l'utilisateur. Icithis Le mot clé est utilisé pour faire référence à l'objet qui a été passé à une fonction.

<html>
   <head>   
   <title>User-defined objects</title>
      <script type = "text/javascript">
         function book(title, author) {
            this.title = title; 
            this.author  = author;
         }
      </script>      
   </head>
   
   <body>   
      <script type = "text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         document.write("Book title is : " + myBook.title + "<br>");
         document.write("Book author is : " + myBook.author + "<br>");
      </script>      
   </body>
</html>

Production

Book title is : Perl 
Book author is : Mohtashim

Définition de méthodes pour un objet

Les exemples précédents montrent comment le constructeur crée l'objet et attribue des propriétés. Mais nous devons compléter la définition d'un objet en lui assignant des méthodes.

Exemple

Essayez l'exemple suivant; il montre comment ajouter une fonction avec un objet.

<html>
   
   <head>
   <title>User-defined objects</title>
      <script type = "text/javascript">
         // Define a function which will work as a method
         function addPrice(amount) {
            this.price = amount; 
         }
         
         function book(title, author) {
            this.title = title;
            this.author  = author;
            this.addPrice = addPrice;  // Assign that method as property.
         }
      </script>      
   </head>
   
   <body>   
      <script type = "text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         myBook.addPrice(100);
         
         document.write("Book title is : " + myBook.title + "<br>");
         document.write("Book author is : " + myBook.author + "<br>");
         document.write("Book price is : " + myBook.price + "<br>");
      </script>      
   </body>
</html>

Production

Book title is : Perl 
Book author is : Mohtashim 
Book price is : 100

Le mot-clé "avec"

le ‘with’ Le mot clé est utilisé comme une sorte de raccourci pour référencer les propriétés ou les méthodes d'un objet.

L'objet spécifié comme argument de withdevient l'objet par défaut pour la durée du bloc qui suit. Les propriétés et méthodes de l'objet peuvent être utilisées sans nommer l'objet.

Syntaxe

La syntaxe pour with object est la suivante -

with (object) {
   properties used without the object name and dot
}

Exemple

Essayez l'exemple suivant.

<html>
   <head>
   <title>User-defined objects</title>   
      <script type = "text/javascript">
         // Define a function which will work as a method
         function addPrice(amount) {
            with(this) {
               price = amount;
            }
         }
         function book(title, author) {
            this.title = title;
            this.author = author;
            this.price = 0;
            this.addPrice = addPrice;  // Assign that method as property.
         }
      </script>      
   </head>
   
   <body>   
      <script type = "text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         myBook.addPrice(100);
         
         document.write("Book title is : " + myBook.title + "<br>");
         document.write("Book author is : " + myBook.author + "<br>");
         document.write("Book price is : " + myBook.price + "<br>");
      </script>      
   </body>
</html>

Production

Book title is : Perl 
Book author is : Mohtashim 
Book price is : 100

Objets natifs JavaScript

JavaScript a plusieurs objets intégrés ou natifs. Ces objets sont accessibles n'importe où dans votre programme et fonctionneront de la même manière dans n'importe quel navigateur fonctionnant dans n'importe quel système d'exploitation.

Voici la liste de tous les objets natifs JavaScript importants -