En este post te mostraré un ejemplo de clase en TypeScript en donde vamos a definir métodos, propiedades y constructores.
También veremos un ejemplo de la sobrecarga de constructores en TypeScript.
Definición de una clase
Para definir una clase se usa la palabra class
, seguida del nombre de la clase. El cuerpo de la clase va dentro de llaves. Así:
class Cliente {
// Magia aquí
}
Propiedades de una clase
Las propiedades (al igual que las funciones o métodos) de una clase en TypeScript pueden ser protected
, private
o public
. Se definen con su tipo. La sintaxis es:
[acceso] nombre_propiedad: tipo;
Veamos un ejemplo:
class Cliente {
public id: number;
public nombre: string;
public telefono: string;
}
Constructor
Con TypeScript es un poco complejo manejar la sobrecarga de constructores. Sin embargo, puede definirse un solo constructor y definir parámetros opcionales. En el siguiente ejemplo tenemos al id
que es opcional, así que tenemos “dos constructores”:
constructor(nombre: string, telefono: string, id?: number) {
this.id = id ? id : -1;
this.nombre = nombre;
this.telefono = telefono;
}
Como ves, compruebo si el id no está definido, y en caso de que sí, entonces lo defino como -1
. Esto es lo que se haría en un constructor alterno: definir el valor por defecto.
Métodos
Finalmente veamos las funciones o métodos que una clase puede tener. La sintaxis es:
[acceso] nombreFuncion() [: valor_retorno ]{}
Por ejemplo:
public nombreConTelefono(): string {
return this.nombre + ' ' + this.telefono;
}
Ejemplo completo de la clase
El código completo queda así:
class Cliente {
public id: number;
public nombre: string;
public telefono: string;
constructor(nombre: string, telefono: string, id?: number) {
this.id = id ? id : -1;
this.nombre = nombre;
this.telefono = telefono;
}
public nombreConTelefono(): string {
return this.nombre + ' ' + this.telefono;
}
}
A partir del ejemplo puedes crear tus propias clases, espero que te sirva para aprender sobre las clases en TS.
Instanciar clase
Finalmente, por si no lo sabes, para crear una instancia, o un objeto a partir de la clase, se hace lo siguiente:
// Así, indicando el tipo
let cliente: Cliente = new Cliente('Luis', '123456789');
// O dejando que el tipo se infiera ;)
let otroCliente = new Cliente('Luis', '123456789');
Puedes usar let, const o var.
Gracias por el post! realmente muy informativo y con muy buena claridad para explicar.. Muchas Gracias nuevamente!