Forgot Your Password?

Choose Your Plan

Start Building Real Apps

Pay Monthly

12

Pay Yearly

10
2 months free
Top shelf web developer training.

Guided Paths

Follow our crafted routes to reach your goals.

Courses

Premium content to build real apps.

Code Tutorials

Examples to follow and learn from.

Javascript Introducción a la POO ES6

Introduccion

Desde la llegada de la version 6 de node.js se esta intensificando es uno POO en el lado del servidos asi que para no quedar nos atras.. aca van algunos ejemplos.

  • Clases
  • Constructores
  • Funciones staticas
  • Herencia

Clases

Al igual que las clases de otro leguajes de programacion nesecitan ser instanciadas

class Foo {}
let foo = new Foo();

// validacion
foo instanceof Foo; // true

Constructor

class Animal {
  constructor(nombre, typo = 'pez') {
    this.clasificacion = 'vertebrados';
    this.nombre = nombre;
    this.typo = typo;
  }
}

// imprimiendo una instancia
console.log(new Animal()); // Animal { clasificacion: 'vertebrados', nombre: undefined, typo: 'pez' }

los contructores puedes ther valores por defecto clasificacion , parametro nombre o valores alternativos

Funciones staticas

Para ejecutar una funcion estatica no es nesesario ejecutar una funccion static

class Animal {
  static buscarComida() {
    // alguna accion
  }
}

// ejecutando una funcion statica
Animal.buscarComida(); // no hay nada

Herencia

class Persona {
  constructor(nombre, apellidos, edad) {
    this.nombre = nombre;
    this.apellidos = apellidos;
    this.edad = edad
  }
  getNombre() {
    return this.nombre;
  }
  getApellidos() {
    return this.apellidos;
  }
  getEdad() {
    return this.edad;
  }
}

class Profesor extends Persona {
  constructor(nombre, apellidos, edad) {
    super(nombre, apellidos, edad);
    this.id = null;
  }
  setId(id) {
    this.id = id;
  }
  getId() {
    return this.id;
  }
  mostrarNombreApellidos() {
    console.log(`${this.getId()}: ${this.getNombre()} ${this.getApellidos()}`);
 }
}

// Ejemplo de herencia
let profesor = new Profesor ('Anacleto', 'trivilin', 20);
profesor.setId('2017-03-16');
profesor.mostrarNombreApellidos(); // 2017-03-16:  Anacleto trivilin