Skip to content

Instantly share code, notes, and snippets.

@vrogueon
Created July 7, 2022 22:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vrogueon/b4d7e5412b6c5d7303ea7993243052be to your computer and use it in GitHub Desktop.
Save vrogueon/b4d7e5412b6c5d7303ea7993243052be to your computer and use it in GitHub Desktop.
Refused Bequest
/*********************************************************************/
abstract class Animal {
public abstract caminar(): any;
public abstract maullar(): any;
public abstract ladrar(): any;
}
class Gato extends Animal {
public caminar() {
console.log('Caminando')
}
public maullar() {
console.log('Miau')
}
public ladrar(): any {
throw new Error('Method not implemented.')
};
}
class Perro extends Animal {
public caminar() {
console.log('Caminando')
}
public maullar() {
throw new Error('Method not implemented.')
}
public ladrar(): any {
console.log('Guau')
};
}
abstract class Animal3 {
public abstract caminar(): any;
}
class Gato3 extends Animal3 {
public caminar() {
console.log('Caminando')
}
public maullar() {
console.log('Miau')
}
}
class Perro3 extends Animal3 {
public caminar() {
console.log('Caminando')
}
public ladrar(): any {
console.log('Guau')
};
}
/*********************************************************************/
/*********************************************************************/
class Perro2 {
public correr() {
console.log('Corriendo')
}
public ladrar() {
console.log('Guau')
}
}
class Gato2 {
public correr() {
console.log('Corriendo')
}
public maullar() {
console.log('Miau')
}
}
abstract class Animal2 {
public abstract correr(): any;
}
class Gato22 extends Animal2 {
public correr() {
console.log('Corriendo')
}
public maullar() {
console.log('Miau')
}
}
class Perro22 extends Animal2 {
public correr() {
console.log('Corriendo')
}
public ladrar() {
console.log('Guau')
}
}
/*********************************************************************/
class Animal4 {
public maullar(): any { return 'Miau' };
public ladrar(): any { return 'Guau' };
}
class Perro4 {
public ladrar(): any {
const perro: Animal4 = new Animal4();
return perro.ladrar();
}
}
class Gato4 {
public maullar(): any {
const gato: Animal4 = new Animal4();
return gato.maullar();
}
}
const perro4: Perro4 = new Perro4();
console.log(perro4.ladrar())
const gato4: Gato4 = new Gato4();
console.log(gato4.maullar())
/*********************************************************************/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment