Hay tres conceptos en Objeto de Programación Orientada a Objetos , Clase y Métodos . El JavaScript de ES6 es compatible con los componentes de programación orientados a objetos.
- Objeto: Una entidad de objeto en tiempo real significa la presentación de cualquier entidad en tiempo real.
- Clase: es el plan anterior a la creación de cualquier objeto que se conoce como modelo de cualquier objeto que desee crear.
- Métodos: Se comunica entre los objetos.
La clase contiene los Constructores y Funciones . Los Constructores asumen la responsabilidad de asignar memoria para los objetos de la clase. La función asume la responsabilidad de la acción de los objetos. Combinando estos dos Constructor y Función para hacer la Clase .
En ES6, para crear cualquier clase, debe usar la palabra clave class .
Sintaxis:
Clase declarante:
class Class_name { }
Expresiones de clase:
var var_name = new Class_name { }
El siguiente ejemplo ilustrará las clases de ES6:
Ejemplo:
javascript
<script> class gfg { // Constructor constructor(name, estd, rank){ this.n = name; this.e = estd; this.r = rank; } // Function decreaserank(){ this.r -= 1; } } const geeks = new gfg("geeks", 2009, 43) geeks.decreaserank(); document.write(geeks.r); //Output 42 </script>
Producción:
42
El ejemplo anterior declara una clase ‘gfg’. El constructor de la clase toma tres argumentos: nombre, estd y rango, respectivamente. La palabra clave ‘this’ se refiere a la instancia actual de la clase. La función geeks() en la clase, imprime los valores del rango.
Herencia de clase: la clase ES6 admite la herencia. La herencia tiene el coraje de crear entidades a partir de entidades existentes. Hay dos tipos de clase en ES6:
- clase principal/superclase: la clase extendida para crear una nueva clase se conoce como clase principal o superclase.
- child/subclasses: Las clases recién creadas se conocen como child o subclass. La subclase hereda todas las propiedades de la clase principal excepto el constructor
Sintaxis:
class child_name extends parent_name
Ejemplo:
javascript
<script> class geeks { constructor(g) { this.Character = g } } class GeeksforGeeks extends geeks { disp() { console.log("No of Character: "+this.Character) } } var obj = new GeeksforGeeks(13); obj.disp() </script>
Producción:
No of Character: 13
La herencia se divide en tres tipos:
- Herencia única: cada clase se puede extender desde una clase principal.
- Herencia múltiple: una clase puede heredar de varias clases. ES6 no admite la herencia múltiple.
- Herencia multinivel: una clase puede heredar de otra clase (vía) que hereda de la clase principal.
class Child extends Root class Leaf extends Child // So the leaf extends root indirectly
Super palabra clave: esta palabra clave ayuda a la clase secundaria a invocar los datos de la clase principal.
super.object
Ejemplo:
JavaScript
<script> class GeeksforGeeks { doPrint() { console.log("This doPrint() from Parent called.") } } class gfg extends GeeksforGeeks { doPrint() { super.doPrint() console.log("This doPrint() is printing a string.") } } var obj = new gfg() obj.doPrint() </script>
Producción:
This doPrint() from Parent called. This doPrint() is printing a string.
Publicación traducida automáticamente
Artículo escrito por skyridetim y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA