Les comparto mis apuntes. 😄
Interfaces en clases
Las interfaces en clases funcionan como contratos, nos permiten tipar tanto los atributos como los métodos.
Aquí no podemos utilizar encapsulamiento, por defecto todos los atributos y métodos son públicos.
Implements
Tiene la misma sintaxis cuando aplicamos herencias en las clases, pero implements no es una herencia, es un contrato que nos dice que nuestra clase tiene que cumplir con un estándar que es la interface.
Este contrato es tanto como para los parámetros como para los métodos.
Sintaxis
interface NameInterface {
statements
}
class NameClass implements NameInterface {
constructor (
propertiesOfInterface
) {
statements
}
methodOfInterface (): dataType { statements }
}
Código de la clase
export interface Driver {
database: string;
password: string;
port: number;
conect (): void;
disconnect (): void;
isConeected (name: string): boolean;
}
// const driver: Driver = {
// database: '',
// password: '',
// port: 23,
// }
class PostresDriver implements Driver{
constructor (
public database: string,
public password: string,
public port: number,
) {
}
conect (): void {}
disconnect (): void {}
isConeected (name: string): boolean {
return true;
}
}
class Oracle implements Driver {
constructor (
public database: string,
public password: string,
public port: number,
) {
}
conect (): void {}
disconnect (): void {}
isConeected (name: string): boolean {
return true;
}
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?