polymorphism completed

This commit is contained in:
2020-05-24 18:44:11 +02:00
parent 0d55cf1273
commit a0bdd99b3f
8 changed files with 49 additions and 11 deletions

View File

@ -0,0 +1,5 @@
# Polymorphism
Relevant files
- [index.ts](./inheritance/index.ts)

View File

@ -2,7 +2,6 @@
Relevant files:
- [index.ts](./index.ts)
- [animal.ts](./animal.ts)
- [cat.ts](./cat.ts)
- [dog.ts](./dog.ts)

View File

@ -1,8 +1,14 @@
import { Dog } from "./dog";
import { Cat } from "./cat";
import { Animal } from "./animal";
const d = new Dog('buster');
const c = new Cat('mittens');
// because cat and dog are subclasses of animal, they can be stored in an array of animals
const animals: Animal[] = [
new Dog('buster'),
new Cat('mittens')
]
d.make_sound();
c.make_sound();
for (const a of animals) {
// when calling the make_sound function, the implementation of the actual class gets called (in this case cat or dog)
a.make_sound();
}